[package]
edition = "2024"
rust-version = "1.95"
name = "clawft-core"
version = "0.8.3"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core engine for clawft (agent loop, message bus, context management)"
homepage = "https://github.com/weave-logic-ai/weftos"
readme = false
keywords = [
"ai",
"agent",
"pipeline",
"tools",
"llm",
]
categories = ["development-tools"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/weave-logic-ai/weftos"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
browser = [
"clawft-platform/browser",
"clawft-llm/browser",
"dep:wasm-bindgen-futures",
"dep:js-sys",
"dep:futures-channel",
]
default = [
"full",
"native",
]
embedding-router = [
"vector-memory",
"dep:ruvector-diskann",
]
full = [
"rvf",
"signing",
"vector-memory",
"embedding-router",
]
hybrid-rerank = ["dep:ruvector-sona"]
native = [
"dep:notify",
"dep:dirs",
"dep:tokio",
"dep:tokio-util",
"dep:clawft-service-llm",
"real-tokenizer",
"clawft-platform/native",
"clawft-llm/native",
"clawft-plugin/native",
"clawft-types/native",
]
real-tokenizer = [
"dep:tiktoken-rs",
"dep:tokenizers",
]
rvf = [
"vector-memory",
"dep:rvf-runtime",
"dep:rvf-types",
"dep:reqwest",
"dep:clawft-cow-memory",
]
signing = [
"dep:ed25519-dalek",
"dep:rand",
]
vector-memory = [
"dep:rand",
"dep:instant-distance",
]
[lib]
name = "clawft_core"
path = "src/lib.rs"
[[example]]
name = "swarm_demo"
path = "examples/swarm_demo.rs"
[[test]]
name = "browser_stream"
path = "tests/browser_stream.rs"
required-features = ["browser"]
[[test]]
name = "context_compression_integration"
path = "tests/context_compression_integration.rs"
[[test]]
name = "error_indicators_weft54"
path = "tests/error_indicators_weft54.rs"
[[test]]
name = "hermes_tokenizer_parity"
path = "tests/hermes_tokenizer_parity.rs"
[[test]]
name = "phase1_integration"
path = "tests/phase1_integration.rs"
[[test]]
name = "phase2_integration"
path = "tests/phase2_integration.rs"
[[test]]
name = "prompt_identity_golden"
path = "tests/prompt_identity_golden.rs"
[[test]]
name = "property_tests"
path = "tests/property_tests.rs"
[[test]]
name = "resolver_live_probe"
path = "tests/resolver_live_probe.rs"
[[test]]
name = "security_tests"
path = "tests/security_tests.rs"
[[bench]]
name = "map_contention_bench"
path = "benches/map_contention_bench.rs"
harness = false
[[bench]]
name = "pipeline_bench"
path = "benches/pipeline_bench.rs"
harness = false
[dependencies.async-trait]
version = "0.1"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clawft-cow-memory]
version = "0.8.3"
optional = true
[dependencies.clawft-llm]
version = "0.8.3"
default-features = false
[dependencies.clawft-platform]
version = "0.8.3"
default-features = false
[dependencies.clawft-plugin]
version = "0.8.3"
default-features = false
[dependencies.clawft-service-llm]
version = "0.8.3"
optional = true
[dependencies.clawft-types]
version = "0.8.3"
default-features = false
[dependencies.dirs]
version = "6"
optional = true
[dependencies.ed25519-dalek]
version = "2"
features = ["rand_core"]
optional = true
[dependencies.fnv]
version = "1"
[dependencies.futures-channel]
version = "0.3"
optional = true
[dependencies.futures-util]
version = "0.3"
[dependencies.hmac]
version = "0.12"
[dependencies.instant-distance]
version = "0.6"
optional = true
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.notify]
version = "8"
optional = true
[dependencies.percent-encoding]
version = "2"
[dependencies.rand]
version = "0.8.7"
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
optional = true
default-features = false
[dependencies.ruvector-diskann]
version = "2.1"
optional = true
[dependencies.ruvector-sona]
version = "0.2"
optional = true
[dependencies.rvf-runtime]
version = "0.3"
features = ["std"]
optional = true
default-features = false
[dependencies.rvf-types]
version = "0.2"
features = ["std"]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tiktoken-rs]
version = "0.6"
optional = true
[dependencies.tokenizers]
version = "0.21"
features = ["fancy-regex"]
optional = true
default-features = false
[dependencies.tokio]
version = "1"
features = ["full"]
optional = true
[dependencies.tokio-util]
version = "0.7"
optional = true
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dev-dependencies.clawft-platform]
version = "0.8.3"
default-features = false
[dev-dependencies.clawft-types]
version = "0.8.3"
default-features = false
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.dashmap]
version = "6"
[dev-dependencies.rand]
version = "0.8.7"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.serde_yaml]
version = "0.9"
[dev-dependencies.temp-env]
version = "0.3"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[dev-dependencies.wiremock]
version = "0.6"