///|
/// llama.mbt 高层 API 在模型与 Session 生命周期阶段可能产生的错误。
pub(all) suberror LlamaError {
  ModelLoadFailed(String)
  ContextCreateFailed(UInt)
} derive(@debug.Debug)

///|
/// 同步文本生成在返回 `Completion` 前可能产生的错误。
///
/// 这些错误表示没有可用的正常生成结果,不属于 `FinishReason`。decode 已经开始后
/// 发生的错误可能修改 Session;具体恢复规则由 Session 的状态协议负责。
pub(all) suberror GenerationError {
  SessionNeedsReset
  VocabularyUnavailable
  EmptyPrompt
  PromptExceedsContext(Int, UInt)
  TokenizationFailed(Int)
  SamplerCreateFailed
  DecodeFailed(Int)
  TokenToPieceFailed(Int, Int)
} derive(@debug.Debug)