namespace AIStudio.Provider.HuggingFace;
///
/// A data model for the response from the model endpoint of the Hugging Face router.
///
///
/// The router says more about a model than the OpenAI model list does: which inference providers
/// serve it, and which kinds of input it takes. That is why this provider brings its own data model
/// instead of using the shared one.
///
/// The models the router knows.
public readonly record struct ModelsResponse(IList Data);
///
/// One model as the Hugging Face router describes it.
///
/// The ID of the model, written as "org/model".
/// The inference providers serving this model.
public readonly record struct HFModel(string Id, IList? Providers);
///
/// One inference provider serving a model.
///
/// The slug of the inference provider, e.g. "novita".
/// Whether the provider currently serves the model. Known value: "live".
public readonly record struct HFModelProvider(string Provider, string Status);
///
/// One model as the Hugging Face hub lists it.
///
///
/// The hub answers with a plain array of models and describes each of them in far more detail than
/// we need here, from tags to download counts. We only ever ask for the models of one provider and
/// one task, so the ID is all that is left to read.
///
/// The ID of the model, written as "org/model".
public readonly record struct HubModel(string Id);