# 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.95"
name = "pond-db"
version = "0.12.0"
build = false
exclude = [
    "tests/",
    "docs/",
    "ops/",
    ".github/",
    ".moon/",
    "moon.yml",
    "AGENTS.md",
    "CLAUDE.md",
    "SKILL.md",
    "flake.nix",
    "nix/",
    "**/.DS_Store",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Lossless storage and hybrid search for sessions from any AI agent client"
homepage = "https://pond.locker/"
documentation = "https://pond.locker/"
readme = "README.md"
keywords = [
    "agents",
    "mcp",
    "lance",
    "search",
    "session-logs",
]
categories = [
    "command-line-utilities",
    "database",
    "artificial-intelligence",
]
license = "Apache-2.0"
repository = "https://github.com/tenequm/pond"

[package.metadata.binstall]
pkg-url = "https://github.com/tenequm/pond/releases/download/v{ version }/pond-{ target }{ archive-suffix }"
pkg-fmt = "txz"
bin-dir = "{ bin }{ binary-ext }"

[package.metadata.binstall.overrides.x86_64-pc-windows-gnu]
pkg-fmt = "zip"

[features]
cuda = [
    "candle-core/cuda",
    "candle-nn/cuda",
    "candle-transformers/cuda",
]
io-trace = ["lance-io/test-util"]

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

[[bin]]
name = "pond"
path = "src/main.rs"

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

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

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

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

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

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

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

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

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

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

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

[dependencies.anstyle]
version = "1"

[dependencies.anyhow]
version = "1.0.102"

[dependencies.arc-swap]
version = "1"

[dependencies.arrow-json]
version = "58.3"

[dependencies.arrow-select]
version = "58.3"

[dependencies.async-stream]
version = "0.3.6"

[dependencies.async-trait]
version = "0.1"

[dependencies.axum]
version = "0.8.9"

[dependencies.base64]
version = "0.22"

[dependencies.blake3]
version = "1"

[dependencies.bytemuck]
version = "1.25"
features = ["derive"]

[dependencies.bytes]
version = "1"

[dependencies.candle-core]
version = "0.10"

[dependencies.candle-nn]
version = "0.10"

[dependencies.candle-transformers]
version = "0.10"

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

[dependencies.clap]
version = "4.6"
features = [
    "derive",
    "env",
]

[dependencies.clap-verbosity-flag]
version = "3"
features = ["tracing"]
default-features = false

[dependencies.clap_complete]
version = "4.6"

[dependencies.cliclack]
version = "0.5"

[dependencies.comfy-table]
version = "7"

[dependencies.ctrlc]
version = "3"

[dependencies.fastrand]
version = "2"

[dependencies.figment]
version = "0.10.19"
features = [
    "toml",
    "env",
]

[dependencies.futures]
version = "0.3"

[dependencies.half]
version = "2.1"
default-features = false

[dependencies.hf-hub]
version = "0.5"
features = ["ureq"]
default-features = false

[dependencies.human-panic]
version = "2"
default-features = false

[dependencies.indicatif]
version = "0.18"

[dependencies.jsonb]
version = "0.5"
features = ["databend"]
default-features = false

[dependencies.lance]
version = "7.0.0"
features = ["protoc"]

[dependencies.lance-arrow]
version = "7.0.0"

[dependencies.lance-datafusion]
version = "7.0.0"

[dependencies.lance-file]
version = "7.0.0"

[dependencies.lance-index]
version = "7.0.0"

[dependencies.lance-io]
version = "7.0.0"

[dependencies.lance-linalg]
version = "7.0.0"

[dependencies.lance-namespace]
version = "7.0.0"

[dependencies.lance-namespace-impls]
version = "7.0.0"

[dependencies.memmap2]
version = "0.9"

[dependencies.object_store]
version = "0.13"
default-features = false

[dependencies.parquet]
version = "58.3"
features = ["arrow"]
default-features = false

[dependencies.rmcp]
version = "1.7"
features = [
    "transport-io",
    "transport-streamable-http-server",
]

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

[dependencies.serde_json]
version = "1.0.150"

[dependencies.shellexpand]
version = "3.1"

[dependencies.struson]
version = "0.7"

[dependencies.tempfile]
version = "3.25"

[dependencies.thiserror]
version = "2.0.18"

[dependencies.tokenizers]
version = "0.22"
features = [
    "progressbar",
    "onig",
]
default-features = false

[dependencies.tokio]
version = "1.52"
features = [
    "fs",
    "io-util",
    "io-std",
    "macros",
    "net",
    "rt",
    "rt-multi-thread",
    "signal",
    "sync",
    "time",
]

[dependencies.tokio-stream]
version = "0.1.18"

[dependencies.toml]
version = "1.1"

[dependencies.toml_edit]
version = "0.25"

[dependencies.tracing]
version = "0.1.44"

[dependencies.tracing-indicatif]
version = "0.3.14"

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

[dependencies.url]
version = "2.5"

[dependencies.uuid]
version = "1.23"
features = ["v7"]

[dependencies.walkdir]
version = "2.5"

[dependencies.whoami]
version = "2"

[dependencies.zip]
version = "8"
features = ["deflate-flate2"]
default-features = false

[dependencies.zstd]
version = "0.13"

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

[dev-dependencies.figment]
version = "0.10.19"
features = ["test"]

[dev-dependencies.hyper-util]
version = "0.1"
features = [
    "server-auto",
    "tokio",
]

[dev-dependencies.insta]
version = "1.47.2"

[dev-dependencies.lance]
version = "7.0.0"
features = ["protoc"]

[dev-dependencies.lance-index]
version = "7.0.0"

[dev-dependencies.lance-linalg]
version = "7.0.0"

[dev-dependencies.rmcp]
version = "1.7"
features = ["client"]

[dev-dependencies.s3s]
version = "0.13"

[dev-dependencies.s3s-fs]
version = "0.13"

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

[dev-dependencies.tower]
version = "0.5"
features = ["util"]

[target.'cfg(target_os = "macos")'.dependencies.candle-core]
version = "0.10"
features = ["metal"]

[target.'cfg(target_os = "macos")'.dependencies.candle-nn]
version = "0.10"
features = ["metal"]

[target.'cfg(target_os = "macos")'.dependencies.candle-transformers]
version = "0.10"
features = ["metal"]

[target.'cfg(target_os = "macos")'.dev-dependencies.libc]
version = "0.2"

[target."cfg(unix)".dependencies.rlimit]
version = "0.10"

[lints.clippy]
dbg_macro = "warn"
expect_used = "warn"
implicit_clone = "warn"
print_stdout = "warn"
semicolon_if_nothing_returned = "warn"
todo = "warn"
uninlined_format_args = "warn"
unwrap_used = "warn"

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

[lints.rust]
unreachable_pub = "warn"
unsafe_code = "deny"

[profile.dev]
opt-level = 0
debug = 1
split-debuginfo = "unpacked"
incremental = true

[profile.dev.package."*"]
opt-level = 3

[profile.dist]
lto = "thin"
codegen-units = 1
inherits = "release"

[profile.release]
