[package]
edition = "2021"
rust-version = "1.78"
name = "thal"
version = "0.0.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Reactive semantic runtime — molecules, reactions, and effect actors for building LLM-backed applications as dataflow programs."
readme = "README.md"
keywords = [
"llm",
"ai",
"agent",
"reactive",
"dataflow",
]
categories = [
"command-line-utilities",
"asynchronous",
]
license = "MIT OR Apache-2.0"
[lib]
name = "thal"
path = "src/lib.rs"
[[bin]]
name = "thal"
path = "src/main.rs"
[[test]]
name = "chat_loop"
path = "tests/chat_loop.rs"
[[test]]
name = "cycle_detection"
path = "tests/cycle_detection.rs"
[[test]]
name = "join_where"
path = "tests/join_where.rs"
[[test]]
name = "llm_call_mock"
path = "tests/llm_call_mock.rs"
[[test]]
name = "llm_provider_auto_prompt"
path = "tests/llm_provider_auto_prompt.rs"
[[test]]
name = "mixins"
path = "tests/mixins.rs"
[[test]]
name = "molecule_provider_registration"
path = "tests/molecule_provider_registration.rs"
[[test]]
name = "multi_emit"
path = "tests/multi_emit.rs"
[[test]]
name = "process_echo"
path = "tests/process_echo.rs"
[[test]]
name = "rollup_filter"
path = "tests/rollup_filter.rs"
[[test]]
name = "rollup_total"
path = "tests/rollup_total.rs"
[[test]]
name = "terminal_prompt"
path = "tests/terminal_prompt.rs"
[[test]]
name = "terminal_write"
path = "tests/terminal_write.rs"
[[test]]
name = "timer_counter"
path = "tests/timer_counter.rs"
[[test]]
name = "token_file_provider"
path = "tests/token_file_provider.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.dashmap]
version = "5"
[dependencies.indicatif]
version = "0.17"
[dependencies.owo-colors]
version = "4"
[dependencies.parking_lot]
version = "0.12"
[dependencies.reedline]
version = "0.43"
[dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"json",
]
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.termimad]
version = "0.34"
[dependencies.thiserror]
version = "1"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.uuid]
version = "1"
features = ["v4"]
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]
[lints.clippy]
unwrap_used = "warn"
[lints.rust]
unsafe_code = "forbid"