Skip to main content

lash_protocol_rlm/
lib.rs

1//! RLM protocol plugin: a trajectory-shaped driver that uses lashlang as the
2//! persistent REPL. Model prose is projected as trajectory reasoning, fenced
3//! `lashlang` is executed, `print` yields observations, and `submit` yields the
4//! final value.
5
6mod control_tools;
7mod driver;
8mod executor;
9mod fence_scan;
10mod plugin;
11mod projection;
12mod protocol;
13mod rlm_support;
14mod stream_mask;
15
16pub use control_tools::continue_as_tool_definition;
17pub use driver::{RlmProjectorConfig, build_rlm_preamble};
18pub use lashlang::{
19    LashlangAbilities, LashlangLanguageFeatures, LashlangSurface, NamedDataType, ResourceCatalog,
20    TypeExpr, TypeField, format_type_expr,
21};
22pub use plugin::{RLM_PROTOCOL_PLUGIN_ID, RlmProtocolPluginConfig, RlmProtocolPluginFactory};
23pub use projection::{
24    ProjectionRef, ProjectionRegistry, ProjectionResolveError, ProjectionResolver,
25    RlmProjectedBindings, RlmProjectedSeedError, RlmToolResultProjector, RlmTurnInputExt,
26    rlm_session_projection_extension,
27};
28pub use projection::{
29    RlmHistoryProjection, RlmSeed, decode_rlm_protocol_event, rlm_history_projection,
30    rlm_protocol_event, rlm_seed_initial_nodes,
31};
32pub use protocol::{
33    RlmDriver, RlmPromptFeatures, contains_closed_lashlang_fence, rlm_execution_section_for_surface,
34};
35pub use rlm_support::format_budget_suffix;