laser-sdk 0.8.2

LaserData SDK over Apache Iggy: typed streaming, operational and lakehouse query, materialization destinations, key-value state, copy-on-write forks, and an optional agent runtime with the Agent Data Exchange Protocol (AGDX).
Documentation
# 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.98.0"
name = "laser-sdk"
version = "0.8.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "LaserData SDK over Apache Iggy: typed streaming, operational and lakehouse query, materialization destinations, key-value state, copy-on-write forks, and an optional agent runtime with the Agent Data Exchange Protocol (AGDX)."
readme = "README.md"
keywords = [
    "iggy",
    "agents",
    "streaming",
    "provenance",
    "messaging",
]
categories = [
    "asynchronous",
    "network-programming",
]
license = "Apache-2.0"
repository = "https://github.com/laserdata/laser-sdk"
resolver = "2"

[package.metadata.docs.rs]
all-features = true

[features]
a2a-bridge = [
    "agent",
    "dep:serde_json",
]
a2a-http = [
    "a2a-bridge",
    "dep:axum",
    "dep:strum",
]
agent = [
    "dep:async-trait",
    "dep:blake3",
    "dep:dashmap",
    "dep:futures",
    "dep:iggy_common",
    "dep:serde_json",
    "dep:sha2",
    "dep:strum",
    "dep:tokio",
    "dep:tracing",
    "dep:trait-variant",
    "provenance",
    "streaming",
]
agui = [
    "agent",
    "dep:serde_json",
]
default = [
    "provenance",
    "streaming",
]
destinations = ["streaming"]
filters = [
    "laser-wire/filter-eval",
    "streaming",
]
fork = ["streaming"]
graph = ["streaming"]
integration = []
kv = [
    "dep:async-trait",
    "dep:trait-variant",
    "streaming",
]
managed = [
    "destinations",
    "filters",
    "fork",
    "graph",
    "kv",
    "projections",
    "query",
    "rbac",
    "watch",
]
mcp-bridge = [
    "agent",
    "dep:serde_json",
]
mcp-http = [
    "mcp-bridge",
    "dep:axum",
    "dep:strum",
]
projections = ["streaming"]
provenance = []
query = [
    "laser-wire/bson",
    "streaming",
]
rbac = ["streaming"]
schema-codecs = [
    "dep:apache-avro",
    "dep:jsonschema",
    "dep:prost-reflect",
    "projections",
]
sign = [
    "agent",
    "dep:ed25519-dalek",
    "dep:sha2",
]
streaming = [
    "dep:dashmap",
    "dep:futures",
    "dep:iggy_binary_protocol",
    "dep:iggy_common",
    "dep:secrecy",
    "dep:serde_json",
    "dep:tokio",
    "dep:tracing",
    "laser-wire/codecs",
]
watch = ["streaming"]

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

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

[[test]]
name = "integration"
path = "tests/integration/main.rs"
required-features = ["integration"]

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

[dependencies.apache-avro]
version = "0.22.0"
optional = true

[dependencies.async-trait]
version = "0.1.92"
optional = true

[dependencies.axum]
version = "0.8.9"
optional = true

[dependencies.blake3]
version = "1.8.7"
optional = true

[dependencies.bon]
version = "3.10.2"

[dependencies.bytes]
version = "1.12.1"

[dependencies.dashmap]
version = "6.2.1"
optional = true

[dependencies.ed25519-dalek]
version = "3.0.0"
optional = true

[dependencies.futures]
version = "0.3.34"
optional = true

[dependencies.iggy]
version = "0.11.0"

[dependencies.iggy_binary_protocol]
version = "0.11.0"
optional = true

[dependencies.iggy_common]
version = "0.11.0"
optional = true

[dependencies.jsonschema]
version = "0.58.5"
optional = true
default-features = false

[dependencies.laser-wire]
version = "0.8.2"
features = [
    "builders",
    "cbor",
]

[dependencies.prost-reflect]
version = "0.16.5"
features = ["serde"]
optional = true

[dependencies.secrecy]
version = "0.10.3"
optional = true

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

[dependencies.serde_json]
version = "1.0"
optional = true

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

[dependencies.strum]
version = "0.28.0"
features = ["derive"]
optional = true

[dependencies.thiserror]
version = "2.0.21"

[dependencies.tokio]
version = "1.53.2"
features = [
    "fs",
    "macros",
    "process",
    "rt",
    "rt-multi-thread",
    "sync",
    "time",
]
optional = true

[dependencies.tracing]
version = "0.1.44"
optional = true

[dependencies.trait-variant]
version = "0.1.3"
optional = true

[dependencies.ulid]
version = "3.0.0"

[dev-dependencies.apache-avro]
version = "0.22.0"

[dev-dependencies.async-trait]
version = "0.1.92"

[dev-dependencies.axum]
version = "0.8.9"

[dev-dependencies.iggy]
version = "0.11.0"

[dev-dependencies.laser-wire]
version = "0.8.2"
features = [
    "builders",
    "cbor",
    "fixtures",
]

[dev-dependencies.libc]
version = "0.2"

[dev-dependencies.prost]
version = "0.14.4"

[dev-dependencies.protox]
version = "0.9.1"

[dev-dependencies.serde_json]
version = "1.0"

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

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

[dev-dependencies.tokio]
version = "1.53.2"
features = [
    "fs",
    "macros",
    "process",
    "rt",
    "rt-multi-thread",
    "sync",
    "time",
    "io-util",
    "net",
]