capability-example 0.1.0

A framework for managing skill tree growth and configuration using automated and manual strategies, ideal for AI-driven environments.
Documentation
// ---------------- [ File: capability-example/src/errors.rs ]
crate::ix!();

error_tree!{

    pub enum GrowerLanguageModelClientError {
        CouldNotBuildChatCompletionRequest,
        NoChoicesReturnedByOpenAICompletion,
        FailedToBuildTokioRuntimeForOneShotQuery,
        OpenAIClientError(OpenAIClientError),
        OpenAIError(async_openai::error::OpenAIError),
    }

    pub enum GrowerTreeConfigurationGenerationError {
        LanguageModelClient(GrowerLanguageModelClientError),
        JsonRepair(JsonRepairError),
        FuzzyFromJsonValue(FuzzyFromJsonValueError),
    }

    pub enum GrowerStringSkeletonGenerationError {
        LanguageModelClient(GrowerLanguageModelClientError),
        JsonRepair(JsonRepairError),
        FuzzyFromJsonValue(FuzzyFromJsonValueError),
    }

    pub enum GrowerCoreStringSkeletonGenerationError {
        LanguageModelClient(GrowerLanguageModelClientError),
        JsonRepair(JsonRepairError),
        FuzzyFromJsonValue(FuzzyFromJsonValueError),
    }

    pub enum GrowerAnnotatedLeafHolderExpansionsGenerationError {
        LanguageModelClient(GrowerLanguageModelClientError),
        JsonRepair(JsonRepairError),
        FuzzyFromJsonValue(FuzzyFromJsonValueError),
    }

    pub enum GrowerModelGenerationInvalidPartial {
        MissingJustifiedGrowerTreeConfiguration,
        MissingJustifiedStringSkeleton,
        MissingStrippedStringSkeleton,
        MissingCoreStringSkeleton,
        MissingAnnotatedLeafHolderExpansions,
    }

    pub enum GrowerModelGenerationError {
        SaveLoad(SaveLoadError),
        InvalidPartial(GrowerModelGenerationInvalidPartial),
        Config {
            error:    GrowerTreeConfigurationGenerationError,
            fragment: PartiallyGrownModel
        },
        StringSkeleton {
            error:    GrowerStringSkeletonGenerationError,
            fragment: PartiallyGrownModel
        },
        CoreStringSkeleton {
            error:    GrowerCoreStringSkeletonGenerationError,
            fragment: PartiallyGrownModel
        },
        AnnotatedLeafHolderExpansions {
            error:    GrowerAnnotatedLeafHolderExpansionsGenerationError,
            fragment: PartiallyGrownModel
        },
    }

    /// Represents errors that can occur during the manual grower flow.
    pub enum ManualGrowerFlowError {

        #[display("Input/Output error: {0}")]
        IoError(std::io::Error),

        #[display("Partial model save/load error: {0}")]
        PartialModelSaveLoadError(SaveLoadError),

        #[display("Grower input error: {0}")]
        GrowerInputError(GrowerInputError),

        #[display("Grower model generation error: {0}")]
        GrowerModelGenError(GrowerModelGenerationError),

        FailedBuildingNewPartiallyGrownModel {
            e: PartiallyGrownModelBuilderError
        },
        SaveLoadError(SaveLoadError),
        ClipboardSaveError(ClipboardSaveError),
        FuzzyClipboardParseError(FuzzyClipboardParseError),
        FuzzyLoadPartiallyGrownModelError(FuzzyLoadPartiallyGrownModelError),
        FillJustifiedTreeConfigurationError,
        FillJustifiedStringSkeletonError,
        FillMissingStrippedStringSkeletonError,
        FillMissingCoreStringSkeletonError,
        FillMissingAnnotatedLeafHolderError,
    }

    pub enum FuzzyLoadPartiallyGrownModelError {
        SaveLoadError(SaveLoadError),
        NoJsonForGrowerInputsAndClipboardParseFailed,
        CouldNotParseGrowerInputs,
        RootOfJSONIsNotAnObjectForPartiallyGrownModel,
        IoError(std::io::Error),
        SerdeError(serde_json::Error),
    }
}