Errors
The public `Result<T>` alias wraps the crate’s `Error` enum. The variants come from `src/core/error.rs`.
Error variants
| Variant | When it appears |
|---|---|
| TokenBudgetExceeded | Public error variant for budget failures; the current builder path usually selects or truncates instead of raising it. |
| InvalidConfig | A provided configuration is not valid for the current operation. |
| ChunkingError | Chunk generation or parsing failed. |
| SerializationError | Serde failed while parsing or writing JSON. |
| TokenCountError | Tokenizer initialization or counting failed. |
| MemoryError | Reserved public variant for memory-related failures. |
| ContextBuildError | General context assembly or model setup problem. |
| Embedding | Embedding generation failed. |
| Model | Local text model initialization or inference failed. |
Handling errors
1use forgetless::{Error, Forgetless};23match Forgetless::new().add("content").run().await {4 Ok(result) => println!("{}", result.total_tokens),5 Err(Error::TokenBudgetExceeded { requested, available }) => {6 eprintln!("budget exceeded: {requested} > {available}");7 }8 Err(Error::InvalidConfig(message)) => eprintln!("invalid config: {message}"),9 Err(Error::ChunkingError(message)) => eprintln!("chunking failed: {message}"),10 Err(Error::TokenCountError(message)) => eprintln!("tokenizer failed: {message}"),11 Err(Error::ContextBuildError(message)) => eprintln!("context build failed: {message}"),12 Err(Error::Embedding(message)) => eprintln!("embedding failed: {message}"),13 Err(Error::Model(message)) => eprintln!("model failed: {message}"),14 Err(other) => eprintln!("{other}"),15}