capability_example/
errors.rs

1// ---------------- [ File: capability-example/src/errors.rs ]
2crate::ix!();
3
4error_tree!{
5
6    pub enum GrowerLanguageModelClientError {
7        CouldNotBuildChatCompletionRequest,
8        NoChoicesReturnedByOpenAICompletion,
9        FailedToBuildTokioRuntimeForOneShotQuery,
10        OpenAIClientError(OpenAIClientError),
11        OpenAIError(async_openai::error::OpenAIError),
12    }
13
14    pub enum GrowerTreeConfigurationGenerationError {
15        LanguageModelClient(GrowerLanguageModelClientError),
16        JsonRepair(JsonRepairError),
17        FuzzyFromJsonValue(FuzzyFromJsonValueError),
18    }
19
20    pub enum GrowerStringSkeletonGenerationError {
21        LanguageModelClient(GrowerLanguageModelClientError),
22        JsonRepair(JsonRepairError),
23        FuzzyFromJsonValue(FuzzyFromJsonValueError),
24    }
25
26    pub enum GrowerCoreStringSkeletonGenerationError {
27        LanguageModelClient(GrowerLanguageModelClientError),
28        JsonRepair(JsonRepairError),
29        FuzzyFromJsonValue(FuzzyFromJsonValueError),
30    }
31
32    pub enum GrowerAnnotatedLeafHolderExpansionsGenerationError {
33        LanguageModelClient(GrowerLanguageModelClientError),
34        JsonRepair(JsonRepairError),
35        FuzzyFromJsonValue(FuzzyFromJsonValueError),
36    }
37
38    pub enum GrowerModelGenerationInvalidPartial {
39        MissingJustifiedGrowerTreeConfiguration,
40        MissingJustifiedStringSkeleton,
41        MissingStrippedStringSkeleton,
42        MissingCoreStringSkeleton,
43        MissingAnnotatedLeafHolderExpansions,
44    }
45
46    pub enum GrowerModelGenerationError {
47        SaveLoad(SaveLoadError),
48        InvalidPartial(GrowerModelGenerationInvalidPartial),
49        Config {
50            error:    GrowerTreeConfigurationGenerationError,
51            fragment: PartiallyGrownModel
52        },
53        StringSkeleton {
54            error:    GrowerStringSkeletonGenerationError,
55            fragment: PartiallyGrownModel
56        },
57        CoreStringSkeleton {
58            error:    GrowerCoreStringSkeletonGenerationError,
59            fragment: PartiallyGrownModel
60        },
61        AnnotatedLeafHolderExpansions {
62            error:    GrowerAnnotatedLeafHolderExpansionsGenerationError,
63            fragment: PartiallyGrownModel
64        },
65    }
66
67    /// Represents errors that can occur during the manual grower flow.
68    pub enum ManualGrowerFlowError {
69
70        #[display("Input/Output error: {0}")]
71        IoError(std::io::Error),
72
73        #[display("Partial model save/load error: {0}")]
74        PartialModelSaveLoadError(SaveLoadError),
75
76        #[display("Grower input error: {0}")]
77        GrowerInputError(GrowerInputError),
78
79        #[display("Grower model generation error: {0}")]
80        GrowerModelGenError(GrowerModelGenerationError),
81
82        FailedBuildingNewPartiallyGrownModel {
83            e: PartiallyGrownModelBuilderError
84        },
85        SaveLoadError(SaveLoadError),
86        ClipboardSaveError(ClipboardSaveError),
87        FuzzyClipboardParseError(FuzzyClipboardParseError),
88        FuzzyLoadPartiallyGrownModelError(FuzzyLoadPartiallyGrownModelError),
89        FillJustifiedTreeConfigurationError,
90        FillJustifiedStringSkeletonError,
91        FillMissingStrippedStringSkeletonError,
92        FillMissingCoreStringSkeletonError,
93        FillMissingAnnotatedLeafHolderError,
94    }
95
96    pub enum FuzzyLoadPartiallyGrownModelError {
97        SaveLoadError(SaveLoadError),
98        NoJsonForGrowerInputsAndClipboardParseFailed,
99        CouldNotParseGrowerInputs,
100        RootOfJSONIsNotAnObjectForPartiallyGrownModel,
101        IoError(std::io::Error),
102        SerdeError(serde_json::Error),
103    }
104}