1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
[]
= "tinyagents"
= "2.1.0"
= "2024"
= "GPL-3.0-only"
= "A recursive language-model (RLM) harness for Rust."
= "https://github.com/tinyhumansai/tinyagents"
= "README.md"
= ["llm", "agents", "graph", "langchain", "langgraph"]
= ["asynchronous", "api-bindings"]
[]
= "0.1"
# Cheap, reference-counted byte buffers. Used only on the *internal* SSE
# byte-stream seam (`harness::providers::openai::sse::SseState`) so each
# network chunk from `reqwest::Response::bytes_stream` is forwarded without a
# per-chunk `Vec<u8>` copy. Already in the dependency tree via `reqwest`;
# `bytes` never appears in the public API.
= "1"
# Runtime-agnostic future combinators (`join_all` for concurrent supersteps) and
# the `Stream`/`StreamExt` traits backing the real streaming pipeline
# (`harness::model::ModelStream`).
= "0.3"
= { = "1", = ["derive"] }
= "1"
= "0.11"
= "2"
= "0.1"
# Async runtime primitives used by the streaming pipeline, plus task spawning
# for `DurabilityMode::Async` background checkpoint writes, `spawn_blocking`
# file I/O, and `block_in_place` JSONL task-store writes (which requires the
# multi-threaded runtime feature).
= { = "1", = false, = ["sync", "time", "macros", "rt", "rt-multi-thread"] }
# HTTP client used by hosted providers and the embedded Langfuse exporter. The
# `stream` feature enables `Response::bytes_stream` for Server-Sent-Events
# streaming.
= { = "0.12", = false, = [
"json",
"rustls-tls",
"stream",
] }
# Optional embedded SQLite checkpointer backend (`graph::checkpoint::sqlite`).
# `bundled` compiles SQLite from vendored C source so no system library is
# required; the dependency is pulled in only by the `sqlite` feature.
= { = "0.40", = ["bundled"], = true }
# Optional embedded Rhai scripting engine powering the `.ragsh` REPL session
# runtime (`repl::session`). The `sync` feature makes the engine and its values
# `Send + Sync` so a session can live inside an async graph node. Pulled in only
# by the `repl` feature to keep the default build light.
= { = "1", = ["sync"], = true }
# Optional builtin tool family for deterministic time/date helpers.
= "0.4"
= { = "0.10", = true }
[]
= []
# Embedded SQLite-backed checkpointer (`graph::checkpoint::SqliteCheckpointer`).
= ["dep:rusqlite"]
# Embedded Rhai-backed `.ragsh` REPL session runtime (`repl::session`).
= ["dep:rhai"]
# Recursive-language-model runtime (`rlm`): a driver model writes code cells
# executed in a sandboxed interpreter (embedded Rhai, or an external Python /
# JavaScript process) whose only host surface is capability calls back into
# the registry (`llm`, `tool`, `agent`). `tokio/process` + `tokio/io-util`
# drive the external interpreter subprocesses.
= ["dep:rhai", "tokio/process", "tokio/io-util"]
# Builtin generic tools (`harness::tools`) kept out of the default dependency
# graph so host applications can choose whether they want these implementations.
= ["dep:chrono-tz"]
[]
= { = "1", = ["macros", "rt-multi-thread", "time", "test-util"] }
# `.env` loading for the runnable examples.
= "0.15"
# Stream combinators (`StreamExt::next`) for integration tests that drive a
# `ModelStream` directly.
= "0.3"
# --- OpenAI-backed examples ---
# The OpenAI provider is always compiled, so these build with a plain
# `cargo build --examples`; they only need a network call + `OPENAI_API_KEY`
# at run time.
# --- RLM examples (need the `rlm` feature) ---
[[]]
= "rlm_rhai"
= ["rlm"]
[[]]
= "rlm_python"
= ["rlm"]