/* tslint:disable */
/* eslint-disable */
/**
 * Fabro Run API
 * HTTP API for managing Fabro workflow run executions.
 *
 * The version of the OpenAPI document: 0.2.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */



/**
 * An LLM provider from the catalog with effective config and configured status.
 */
export interface Provider {
    /**
     * LLM provider identifier.
     */
    'id': string;
    /**
     * Human-readable provider name.
     */
    'display_name': string;
    /**
     * Protocol adapter the provider speaks.
     */
    'adapter': ProviderAdapterEnum;
    /**
     * Operator-set base URL override, if any.
     */
    'base_url'?: string | null;
    /**
     * URL where an operator can obtain an API key for this provider.
     */
    'api_key_url'?: string | null;
    /**
     * Catalog ordering priority; higher sorts first.
     */
    'priority': number;
    /**
     * Alternative identifiers that resolve to this provider.
     */
    'aliases'?: Array<string>;
    /**
     * Number of catalog models belonging to this provider.
     */
    'model_count': number;
    /**
     * Catalog default model ID for this provider, if any.
     */
    'default_model'?: string | null;
    /**
     * Whether credential material is present for this provider on the server when this response was produced. Does NOT imply requests will succeed.
     */
    'configured': boolean;
    /**
     * Suggested vault secret name for configuring this provider, derived from the first vault credential reference in the provider catalog. Null when the provider has no vault credential (e.g. no-auth or env-only providers). Used to prefill the create-secret form.
     */
    'expected_secret_name'?: string | null;
}

export const ProviderAdapterEnum = {
    ANTHROPIC: 'anthropic',
    OPENAI: 'openai',
    GEMINI: 'gemini',
    OPENAI_COMPATIBLE: 'openai_compatible'
} as const;

export type ProviderAdapterEnum = typeof ProviderAdapterEnum[keyof typeof ProviderAdapterEnum];
