workspacer_readme_writer/
errors.rs

1// ---------------- [ File: workspacer-readme-writer/src/errors.rs ]
2crate::ix!();
3
4error_tree!{
5    pub enum AiReadmeWriterError {
6        LanguageModelBatchWorkflowError(LanguageModelBatchWorkflowError),
7        BatchWorkspaceError(BatchWorkspaceError),
8        WorkspacerFallbackError(WorkspacerFallbackError),
9        CrateError(CrateError),
10        WorkspaceError(WorkspaceError),
11        CargoTomlError(CargoTomlError),
12        #[display("ReadmeWriteError: {0}")]
13        ReadmeWriteError(ReadmeWriteError),
14    }
15}
16
17impl From<AiReadmeWriterError> for WorkspaceError {
18    fn from(err: AiReadmeWriterError) -> Self {
19        // Decide how you want to embed that error in a `WorkspaceError`.
20        // For example, you can wrap it in `WorkspaceError::ReadmeWriteError(...)` 
21        // or a generic variant. If you have no direct variant for it, you can do 
22        // a new variant or wrap it in `WorkspaceError::CrateError(...)`, etc.
23        //
24        // Example:
25        match err {
26            AiReadmeWriterError::CrateError(ce) => WorkspaceError::CrateError(ce),
27            AiReadmeWriterError::WorkspaceError(we) => we,
28            other => {
29                // fallback:
30                WorkspaceError::ReadmeWriteError(ReadmeWriteError::AiReadmeWriterError)
31            }
32        }
33    }
34}