[package] name = "mentra" version = "0.18.3" edition.workspace = true rust-version.workspace = true description = "An agent runtime for tool-using LLM applications" license.workspace = true repository.workspace = true homepage.workspace = true documentation = "https://docs.rs/mentra" readme = "README.md" keywords = ["agents", "llm", "runtime", "tools", "ai"] categories = ["asynchronous", "development-tools"] [features] # Default-on so an existing dependant sees no change: every caller who linked # mentra before this feature existed had the Responses websocket transport, and # an upgrade should not quietly take a transport away. Forwarded rather than # left to mentra-provider's own default (which is why the dependency below sets # `default-features = false`) so a host that only ever streams over HTTP+SSE can # turn it off here and drop tokio-tungstenite from its tree. default = ["responses-websocket"] responses-websocket = ["mentra-provider/responses-websocket"] openai-oauth = ["dep:ring"] test-utils = [] [dependencies] mentra-provider = { version = "0.5.1", path = "../mentra-provider", default-features = false } tokio = { version = "1.50.0", features = ["full"] } reqwest = { version = "0.12.23", default-features = false, features = [ "json", "rustls-tls", "stream", ] } url = "2.5" serde = { version = "1.0.228", features = ["derive"] } serde_json = "1.0.149" async-trait = "0.1.89" futures-util = "0.3.31" time = { version = "0.3", features = ["formatting", "parsing", "serde"] } base64 = "0.22.1" serde_yaml_ng = "0.10" directories = "6.0.0" rusqlite = { version = "0.39", features = ["bundled"] } thiserror = "2.0.18" strum = { version = "0.27", features = ["derive"] } libc = "0.2" regex = "1.12.2" rand = "0.9.2" ring = { version = "0.17.14", optional = true } glob-match = { workspace = true } similar = "2.7.0" unicode-normalization = "0.1.24" [dev-dependencies] criterion = { version = "0.5", features = ["async_tokio"] } # Tests only: `start_paused` lets a retry schedule measured in tens of seconds # be asserted without waiting them out. Not enabled for the library build, so # nothing a dependant links changes. tokio = { version = "1.50.0", features = ["test-util"] } [target.'cfg(windows)'.dependencies] windows-sys = { version = "0.61.2", features = ["Win32_Foundation", "Win32_System_Threading"] } [[bench]] name = "long_session" harness = false required-features = ["test-utils"]