services/loop/error
Loop error handler — reactive compression on context overflow errors. Moved from core/loop/error.gleam (Stage 3). Uses service bundles instead of the monolithic LoopContext.
Types
pub type ErrorResult {
Terminal(message: String)
Retry(
history: List(message.Message),
cooldown_state: hooks.CooldownState,
)
}
Constructors
-
Terminal(message: String) -
Retry( history: List(message.Message), cooldown_state: hooks.CooldownState, )
Values
pub fn handle_error(
env: types.LoopEnv,
logger: types.LoggerBundle,
llm: types.LLMService,
compression: types.CompressionService,
err: client.ClientError,
messages: List(message.Message),
cooldown_state: hooks.CooldownState,
) -> ErrorResult
Handle API error with optional reactive compression.