stateset-embedded 0.7.13

Embeddable commerce library - the SQLite of commerce operations
# 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.85"
name = "stateset-embedded"
version = "0.7.13"
authors = ["StateSet <support@stateset.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Embeddable commerce library - the SQLite of commerce operations"
readme = "README.md"
keywords = [
    "commerce",
    "ecommerce",
    "embedded",
    "ai-agents",
    "sqlite",
]
categories = ["database"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/stateset/stateset-icommerce"
resolver = "2"

[features]
default = [
    "sqlite",
    "events",
]
events = [
    "reqwest/rustls-tls",
    "hmac",
    "sha2",
    "hex",
]
postgres = [
    "stateset-db/postgres",
    "sqlx",
]
sqlite = ["stateset-db/sqlite"]
sqlite-events = [
    "events",
    "r2d2",
    "r2d2_sqlite",
    "rusqlite",
]
vector = [
    "stateset-db/vector",
    "stateset-core/embeddings",
]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.futures]
version = "0.3"

[dependencies.hex]
version = "0.4"
optional = true

[dependencies.hmac]
version = "0.12"
optional = true

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

[dependencies.opentelemetry-otlp]
version = "0.16"
optional = true

[dependencies.opentelemetry_sdk]
version = "0.23"
features = ["rt-tokio"]
optional = true

[dependencies.prometheus]
version = "0.14"
optional = true

[dependencies.r2d2]
version = "0.8"
optional = true

[dependencies.r2d2_sqlite]
version = "0.25"
optional = true

[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
default-features = false

[dependencies.rusqlite]
version = "0.32.1"
features = ["bundled"]
optional = true

[dependencies.rust_decimal]
version = "1.36"
features = ["serde"]

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

[dependencies.serde_json]
version = "1.0"

[dependencies.sha2]
version = "0.10"
optional = true

[dependencies.sqlx]
version = "0.8.1"
features = [
    "runtime-tokio",
    "postgres",
    "macros",
    "json",
    "uuid",
    "chrono",
    "rust_decimal",
    "tls-none",
    "runtime-tokio",
    "postgres",
    "json",
    "uuid",
    "chrono",
    "rust_decimal",
    "tls-none",
]
optional = true
default-features = false

[dependencies.stateset-core]
version = "0.7.13"

[dependencies.stateset-db]
version = "0.7.13"

[dependencies.stateset-observability]
version = "0.7.13"

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

[dependencies.tracing]
version = "0.1"

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

[dependencies.uuid]
version = "1.4"
features = [
    "v4",
    "serde",
]

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.insta]
version = "1.34"
features = ["json"]

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

[dev-dependencies.rust_decimal_macros]
version = "1.36"

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

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

[lints.clippy]
borrow_as_ptr = "warn"
cloned_instead_of_copied = "warn"
dbg_macro = "warn"
derive_partial_eq_without_eq = "warn"
doc_markdown = "warn"
explicit_iter_loop = "warn"
flat_map_option = "warn"
implicit_clone = "warn"
manual_string_new = "warn"
missing_const_for_fn = "warn"
needless_pass_by_ref_mut = "warn"
redundant_clone = "warn"
result_large_err = "allow"
use_self = "warn"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.rust]
missing_debug_implementations = "warn"
unreachable_pub = "warn"
unused_must_use = "deny"

[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1

[lints.rustdoc]
all = "warn"