namespace AIStudio.Tools.ToolCallingSystem; /// /// What keeps a tool from being offered to a model, if anything. /// /// /// A reason rather than a yes or no, because whoever asks has to say something different for each /// of them: a model which cannot use tools is a matter of the provider settings, a tool switched off /// by the organization is nothing the user can change, and missing settings are something they can /// fill in themselves. /// public enum ToolOfferBlockReason { /// /// Nothing is in the way, the tool can be offered. /// NONE, /// /// The organization switched tools off altogether. /// TOOLS_SWITCHED_OFF, /// /// The selected model or its provider cannot use tools, or no provider is selected at all. /// MODEL_CANNOT_USE_TOOLS, /// /// This installation does not know the tool, or the tool is not meant for this part of the app. /// NOT_AVAILABLE_HERE, /// /// The organization switched this tool off. /// TOOL_SWITCHED_OFF, /// /// A setting the tool cannot work without is missing or invalid. /// NOT_CONFIGURED, /// /// The provider is not trusted enough for this tool. /// PROVIDER_CONFIDENCE_TOO_LOW, }