Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
348c29a
chore: remove rlm and repl-language modules
senamakel Aug 13, 2026
7a1019b
chore: remove RLM and Rhai REPL support
senamakel Aug 13, 2026
86b813f
chore: remove repl and rlm modules from crate
senamakel Aug 13, 2026
bf38ee0
chore(events): remove ReplCall event type
senamakel Aug 13, 2026
533810f
fix(events): remove unused event types from the harness
senamakel Aug 13, 2026
91f9ab3
docs(ids): update doc comments to reflect generalised session concept
senamakel Aug 13, 2026
469b8f2
test: drop repl helper coverage from public helpers test
senamakel Aug 13, 2026
8524360
chore(deps): drop unused rhai scripting dependency
senamakel Aug 13, 2026
97de736
docs(readme): update project description to reflect removal of the RE…
senamakel Aug 13, 2026
f9b79bb
docs: update wiki links for recursion and remove REPL entry
senamakel Aug 13, 2026
fac63f8
docs(spec): remove REPL language from core spec
senamakel Aug 13, 2026
a7c37d0
docs(agents): remove repl surface from project overview
senamakel Aug 13, 2026
c9d345e
docs(expressive-language): clarify host vs REPL terminology
senamakel Aug 13, 2026
2354497
docs: drop .ragsh references from docs and comments
senamakel Aug 13, 2026
e44da5f
docs: update docs to remove RLM and .ragsh references
senamakel Aug 13, 2026
234a255
chore(docs): clarify recursive architecture framing
senamakel Aug 13, 2026
d0726d3
docs: remove RLM acronym from harness docs
senamakel Aug 13, 2026
dc85154
test: remove deferred REPL test and fix script extension
senamakel Aug 13, 2026
7bc999e
docs: update READMEs to drop RLM-style terminology
senamakel Aug 13, 2026
2364cf3
docs(graph): reflow README paragraph
senamakel Aug 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@

TinyAgents is a Rust 2024 library crate rooted at `Cargo.toml`. Public API
exports live in `src/lib.rs`, with the crate-wide error type in `src/error.rs`.
The five surfaces each live in their own module directory: `src/graph/`
The four surfaces each live in their own module directory: `src/graph/`
(durable typed state graphs), `src/harness/` (provider-neutral model calls,
tools, middleware, streaming), `src/language/` (the declarative `.rag`
blueprint format), `src/registry/` (the named capability catalog), and
`src/repl/` (the imperative `.ragsh` session runtime).
blueprint format), and `src/registry/` (the named capability catalog).
Scripted, interpreter-backed orchestration (a CodeAct/REPL loop) is a host
concern and is deliberately not implemented here.

Prefer small, focused modules that do one thing extremely well. New feature
areas should live in module directories instead of accumulating broad,
Expand All @@ -18,18 +19,18 @@ dedicated `types.rs` file and keep module-local unit tests in a dedicated
smallest useful API.

Two Cargo features gate optional dependencies: `sqlite` (embedded SQLite
checkpointer, `graph::checkpoint::SqliteCheckpointer`) and `repl` (embedded
Rhai engine backing `repl::session`); every other provider and surface is
checkpointer, `graph::checkpoint::SqliteCheckpointer`) and `tools` (the builtin
generic tool family, `harness::tools`); every other provider and surface is
compiled in by default.

Integration tests are in `tests/`, covering serialization, graph routing,
registry binding, the expressive and REPL languages, streaming, subagents,
registry binding, the expressive language, streaming, subagents,
and provider contracts (including live, network-gated tests such as
`tests/live_*.rs`). Runnable usage examples are in `examples/`, especially
`examples/basic_graph.rs`. Design notes and module-level specifications live
in `docs/`, with `docs/spec/README.md` as the top-level architecture
reference and `docs/modules/` holding per-surface design docs (`graph/`,
`harness/`, `registry/`, `expressive-language/`, `repl-language/`). A `wiki/`
`harness/`, `registry/`, `expressive-language/`). A `wiki/`
git submodule holds the published GitHub wiki pages; do not edit it as part
of unrelated work, and commit its pointer update separately when it does
change.
Expand Down
143 changes: 0 additions & 143 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 1 addition & 24 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "tinyagents"
version = "2.1.0"
edition = "2024"
license = "GPL-3.0-only"
description = "A recursive language-model (RLM) harness for Rust."
description = "A durable agent + graph harness for Rust."
repository = "https://github.com/tinyhumansai/tinyagents"
readme = "README.md"
keywords = ["llm", "agents", "graph", "langchain", "langgraph"]
Expand Down Expand Up @@ -59,12 +59,6 @@ reqwest = { version = "0.12", default-features = false, features = [
# not add one, it does not resolve.
rusqlite = { version = "0.40", features = ["bundled"], optional = 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.
rhai = { version = "1", features = ["sync"], optional = true }

# Optional builtin tool family for deterministic time/date helpers.
# `serde` is required by `harness::session_store`, whose records carry
# `DateTime<Utc>` timestamps across the serde boundary.
Expand All @@ -75,14 +69,6 @@ chrono-tz = { version = "0.10", optional = true }
default = []
# Embedded SQLite-backed checkpointer (`graph::checkpoint::SqliteCheckpointer`).
sqlite = ["dep:rusqlite"]
# Embedded Rhai-backed `.ragsh` REPL session runtime (`repl::session`).
repl = ["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.
rlm = ["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.
tools = ["dep:chrono-tz"]
Expand All @@ -102,12 +88,3 @@ futures = "0.3"
# 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) ---
[[example]]
name = "rlm_rhai"
required-features = ["rlm"]

[[example]]
name = "rlm_python"
required-features = ["rlm"]
Loading