[package]
edition = "2024"
rust-version = "1.95"
name = "entelix"
version = "0.5.5"
authors = ["junyeong-ai"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "entelix — web-service-native Rust agentic AI SDK (facade re-export crate)"
documentation = "https://docs.rs/entelix"
readme = "README.md"
keywords = [
"ai",
"agent",
"llm",
"graph",
"runtime",
]
categories = [
"api-bindings",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/junyeong-ai/entelix"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
aws = ["entelix-cloud/aws"]
azure = ["entelix-cloud/azure"]
default = []
embedders-openai = ["dep:entelix-memory-openai"]
full = [
"mcp",
"mcp-chatmodel",
"postgres",
"redis",
"otel",
"aws",
"gcp",
"azure",
"policy",
"server",
"embedders-openai",
"vectorstores-qdrant",
"vectorstores-pgvector",
"graphmemory-pg",
"tokenizer-tiktoken",
"tokenizer-hf",
]
gcp = ["entelix-cloud/gcp"]
graphmemory-pg = ["dep:entelix-graphmemory-pg"]
mcp = ["dep:entelix-mcp"]
mcp-chatmodel = [
"mcp",
"entelix-mcp/chatmodel-sampling",
]
otel = ["dep:entelix-otel"]
policy = ["dep:entelix-policy"]
postgres = [
"dep:entelix-persistence",
"entelix-persistence/postgres",
]
redis = [
"dep:entelix-persistence",
"entelix-persistence/redis",
]
server = ["dep:entelix-server"]
tokenizer-hf = ["dep:entelix-tokenizer-hf"]
tokenizer-tiktoken = ["dep:entelix-tokenizer-tiktoken"]
vectorstores-pgvector = ["dep:entelix-memory-pgvector"]
vectorstores-qdrant = ["dep:entelix-memory-qdrant"]
[lib]
name = "entelix"
path = "src/lib.rs"
[[example]]
name = "01_quickstart"
path = "examples/01_quickstart.rs"
[[example]]
name = "02_lcel_chain"
path = "examples/02_lcel_chain.rs"
[[example]]
name = "03_state_graph"
path = "examples/03_state_graph.rs"
[[example]]
name = "04_hitl"
path = "examples/04_hitl.rs"
[[example]]
name = "05_memory"
path = "examples/05_memory.rs"
[[example]]
name = "06_supervisor"
path = "examples/06_supervisor.rs"
[[example]]
name = "07_hierarchical"
path = "examples/07_hierarchical.rs"
[[example]]
name = "08_streaming_modes"
path = "examples/08_streaming_modes.rs"
[[example]]
name = "09_multi_codec"
path = "examples/09_multi_codec.rs"
[[example]]
name = "10_streaming"
path = "examples/10_streaming.rs"
[[example]]
name = "11_durable_session"
path = "examples/11_durable_session.rs"
[[example]]
name = "12_compat_matrix"
path = "examples/12_compat_matrix.rs"
required-features = [
"aws",
"gcp",
"azure",
]
[[example]]
name = "13_mcp_tools"
path = "examples/13_mcp_tools.rs"
required-features = ["mcp"]
[[example]]
name = "14_serve_agent"
path = "examples/14_serve_agent.rs"
required-features = ["server"]
[[example]]
name = "15_production_workflow"
path = "examples/15_production_workflow.rs"
required-features = ["policy"]
[[example]]
name = "16_state_merge_pipeline"
path = "examples/16_state_merge_pipeline.rs"
[[example]]
name = "17_mcp_sampling_provider"
path = "examples/17_mcp_sampling_provider.rs"
required-features = [
"mcp",
"mcp-chatmodel",
]
[[example]]
name = "18_tool_approval"
path = "examples/18_tool_approval.rs"
required-features = ["policy"]
[[example]]
name = "19_typed_output"
path = "examples/19_typed_output.rs"
[[example]]
name = "20_graph_memory"
path = "examples/20_graph_memory.rs"
[[example]]
name = "21_episodic_memory"
path = "examples/21_episodic_memory.rs"
[[example]]
name = "22_agent_with_observer"
path = "examples/22_agent_with_observer.rs"
[[example]]
name = "23_typed_tool_macro"
path = "examples/23_typed_tool_macro.rs"
[[example]]
name = "24_file_id_attachments"
path = "examples/24_file_id_attachments.rs"
[[example]]
name = "25_auto_compaction"
path = "examples/25_auto_compaction.rs"
[[example]]
name = "26_rag_pipeline"
path = "examples/26_rag_pipeline.rs"
[[test]]
name = "layer_wire_site_assertions"
path = "tests/layer_wire_site_assertions.rs"
[dependencies.entelix-agents]
version = "0.5.5"
[dependencies.entelix-cloud]
version = "0.5.5"
[dependencies.entelix-core]
version = "0.5.5"
[dependencies.entelix-graph]
version = "0.5.5"
[dependencies.entelix-graphmemory-pg]
version = "0.5.5"
optional = true
[dependencies.entelix-mcp]
version = "0.5.5"
optional = true
[dependencies.entelix-memory]
version = "0.5.5"
[dependencies.entelix-memory-openai]
version = "0.5.5"
optional = true
[dependencies.entelix-memory-pgvector]
version = "0.5.5"
optional = true
[dependencies.entelix-memory-qdrant]
version = "0.5.5"
optional = true
[dependencies.entelix-otel]
version = "0.5.5"
optional = true
[dependencies.entelix-persistence]
version = "0.5.5"
optional = true
[dependencies.entelix-policy]
version = "0.5.5"
optional = true
[dependencies.entelix-prompt]
version = "0.5.5"
[dependencies.entelix-rag]
version = "0.5.5"
[dependencies.entelix-runnable]
version = "0.5.5"
[dependencies.entelix-server]
version = "0.5.5"
optional = true
[dependencies.entelix-session]
version = "0.5.5"
[dependencies.entelix-tokenizer-hf]
version = "0.5.5"
optional = true
[dependencies.entelix-tokenizer-tiktoken]
version = "0.5.5"
optional = true
[dependencies.entelix-tools]
version = "0.5.5"
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.axum]
version = "0.8"
features = [
"macros",
"tokio",
"http2",
]
[dev-dependencies.bytes]
version = "1.11"
[dev-dependencies.chrono]
version = "0.4"
features = ["serde"]
[dev-dependencies.entelix-core]
version = "0.5.5"
[dev-dependencies.entelix-mcp]
version = "0.5.5"
features = ["chatmodel-sampling"]
[dev-dependencies.entelix-policy]
version = "0.5.5"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.http]
version = "1.4"
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.rust_decimal]
version = "1"
features = [
"serde",
"serde-with-str",
]
[dev-dependencies.schemars]
version = "1.2"
[dev-dependencies.secrecy]
version = "0.10"
features = ["serde"]
[dev-dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.tokio]
version = "1.52"
features = [
"rt-multi-thread",
"macros",
"sync",
"time",
"io-util",
"signal",
"macros",
"rt",
"rt-multi-thread",
]
[dev-dependencies.tower]
version = "0.5"
features = ["util"]
[dev-dependencies.wiremock]
version = "0.6"
[lints.clippy]
await_holding_lock = "deny"
await_holding_refcell_ref = "deny"
dbg_macro = "deny"
duration_suboptimal_units = "allow"
expect_used = "warn"
indexing_slicing = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
print_stderr = "deny"
print_stdout = "deny"
return_self_not_must_use = "allow"
similar_names = "warn"
struct_excessive_bools = "warn"
todo = "warn"
unimplemented = "warn"
unwrap_used = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_docs = "warn"
unreachable_pub = "warn"
unsafe_code = "forbid"
[lints.rust.rust_2024_compatibility]
level = "warn"
priority = -1
[lints.rustdoc]
bare_urls = "deny"
broken_intra_doc_links = "deny"
invalid_codeblock_attributes = "deny"
invalid_html_tags = "deny"
invalid_rust_codeblocks = "deny"
private_intra_doc_links = "deny"
unescaped_backticks = "deny"