golem-rust 3.0.2

Golem Rust tooling library that facilitates writing Golem backends in Rust
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"
name = "golem-rust"
version = "3.0.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Golem Rust tooling library that facilitates writing Golem backends in Rust"
homepage = "https://golem.cloud"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/golemcloud/golem-rust"
resolver = "2"

[features]
bigdecimal = [
    "dep:bigdecimal",
    "num_bigint",
    "golem-schema/bigdecimal",
]
bit_vec = [
    "dep:bit-vec",
    "golem-schema/bit_vec",
]
bytes = ["golem-schema/bytes"]
chrono = [
    "dep:chrono",
    "golem-schema/chrono",
]
default = [
    "durability",
    "json",
    "macro",
]
durability = []
export_golem_agentic = [
    "export_load_snapshot",
    "export_save_snapshot",
    "dep:ctor",
    "dep:async-trait",
    "dep:serde",
    "dep:serde_json",
]
export_load_snapshot = []
export_oplog_processor = []
export_save_snapshot = []
json = [
    "dep:serde",
    "dep:serde_json",
]
mac_address = [
    "dep:mac_address",
    "golem-schema/mac_address",
]
macro = [
    "dep:golem-rust-macro",
    "golem-schema/derive",
]
nonempty_collections = [
    "dep:nonempty-collections",
    "golem-schema/nonempty_collections",
]
num_bigint = [
    "dep:num-bigint",
    "golem-schema/num_bigint",
]
regex = ["golem-schema/regex"]
rich-validation = ["golem-schema/rich-validation"]
rust_decimal = [
    "dep:rust_decimal",
    "golem-schema/rust_decimal",
]
serde_json_types = [
    "dep:serde_json",
    "golem-schema/serde_json_types",
]
url = [
    "dep:url",
    "golem-schema/url",
]

[lib]
name = "golem_rust"
crate-type = ["rlib"]
path = "src/lib.rs"
harness = false

[[test]]
name = "agent"
path = "tests/agent.rs"
harness = false

[[test]]
name = "http_router"
path = "tests/http_router.rs"
harness = false
required-features = ["export_golem_agentic"]

[[test]]
name = "reflection_recipe_compile"
path = "tests/reflection_recipe_compile.rs"
harness = false
required-features = ["export_golem_agentic"]

[[test]]
name = "rich_tool_conformance"
path = "tests/rich_tool_conformance.rs"
harness = false
required-features = ["export_golem_agentic"]

[[test]]
name = "schema_reexport"
path = "tests/schema_reexport.rs"
harness = false

[[test]]
name = "tool"
path = "tests/tool.rs"
harness = false

[[test]]
name = "tool_canonical"
path = "tests/tool_canonical.rs"
harness = false

[[test]]
name = "ui"
path = "tests/ui.rs"
harness = false

[[bench]]
name = "agent_registry_bench"
path = "benches/agent_registry_bench.rs"
harness = false
required-features = ["export_golem_agentic"]

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

[[bench]]
name = "tool_client_bench"
path = "benches/tool_client_bench.rs"
harness = false
required-features = ["export_golem_agentic"]

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

[dependencies.bigdecimal]
version = "0.4.9"
optional = true

[dependencies.bit-vec]
version = "0.8.0"
optional = true

[dependencies.bytes]
version = "1.11.0"

[dependencies.chrono]
version = "0.4.42"
optional = true

[dependencies.ctor]
version = "0.4.3"
optional = true

[dependencies.futures]
version = "0.3"
features = [
    "std",
    "async-await",
]
default-features = false

[dependencies.glob-match]
version = "0.2.1"

[dependencies.golem-rust-macro]
version = "3.0.2"
optional = true

[dependencies.golem-schema]
version = "1.6.2"
features = ["guest"]
default-features = false

[dependencies.golem-tool-metadata]
version = "1.6.2"
features = ["guest"]
default-features = false

[dependencies.http]
version = "1.3.1"

[dependencies.http-body]
version = "1"

[dependencies.http-body-util]
version = "0.1"

[dependencies.log]
version = "0.4.29"
features = ["kv"]

[dependencies.mac_address]
version = "1.1.8"
optional = true

[dependencies.nonempty-collections]
version = "1.2.1"
optional = true

[dependencies.num-bigint]
version = "0.4"
optional = true

[dependencies.rust_decimal]
version = "1.39.0"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1.0.145"
features = ["raw_value"]
optional = true

[dependencies.thiserror]
version = "2"

[dependencies.unicode-segmentation]
version = ">=1.0, <1.13"

[dependencies.url]
version = "2.5.7"
optional = true

[dependencies.uuid]
version = "1.19.0"
features = ["v4"]

[dependencies.wasi-logger]
version = "0.1.2"
features = ["kv"]

[dependencies.wasip3]
version = "0.7.0"
features = ["http-compat"]

[dependencies.wit-bindgen]
version = "=0.59.0"
features = [
    "async",
    "async-spawn",
    "inter-task-wakeup",
]

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

[dev-dependencies.golem-schema]
version = "1.6.2"
features = ["rich-validation"]
default-features = false

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

[dev-dependencies.test-r]
version = "3.0.9"

[dev-dependencies.trybuild]
version = "1.0.116"