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

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.

Search Document