mod batch_projection;
mod capability_projection;
mod catalog_builtins;
mod catalog_projection;
mod execution_contract;
mod healthcheck_builtins;
mod model_projection;
mod option_registry;
mod provider_projection;
mod rate_limit_builtins;
mod selection_builtins;
#[cfg(test)]
mod tests;
use crate::stdlib::macros::{register_builtin_defs, VmBuiltinDef};
use crate::vm::Vm;
use self::catalog_builtins::{
LLM_AVAILABLE_PROVIDERS_BUILTIN_DEF, LLM_CATALOG_BUILTIN_DEF, LLM_CATALOG_REFRESH_BUILTIN_DEF,
LLM_CONFIG_BUILTIN_DEF, LLM_PROVIDERS_BUILTIN_DEF, LLM_PROVIDER_CATALOG_BUILTIN_DEF,
LLM_PROVIDER_STATUS_BUILTIN_DEF, PROVIDER_CAPABILITIES_BUILTIN_DEF,
PROVIDER_CAPABILITIES_CLEAR_BUILTIN_DEF, PROVIDER_CAPABILITIES_INSTALL_BUILTIN_DEF,
PROVIDER_REGISTER_BUILTIN_DEF,
};
use self::execution_contract::LLM_EXECUTION_CONTRACT_BUILTIN_DEF;
use self::healthcheck_builtins::LLM_HEALTHCHECK_BUILTIN_DEF;
use self::rate_limit_builtins::LLM_RATE_LIMIT_BUILTIN_DEF;
use self::selection_builtins::{
LLM_APPLY_REASONING_POLICY_BUILTIN_DEF, LLM_COMPLEMENTARY_REVIEWER_BUILTIN_DEF,
LLM_EQUIVALENT_MODELS_BUILTIN_DEF, LLM_INFER_PROVIDER_BUILTIN_DEF,
LLM_KNOWN_MODELS_BUILTIN_DEF, LLM_MODEL_DEFAULTS_BUILTIN_DEF, LLM_MODEL_INFO_BUILTIN_DEF,
LLM_MODEL_TIER_BUILTIN_DEF, LLM_PICK_MODEL_BUILTIN_DEF, LLM_QC_DEFAULT_MODEL_BUILTIN_DEF,
LLM_REASONING_EFFORT_BUDGET_BUILTIN_DEF, LLM_RESOLVED_OPTIONS_BUILTIN_DEF,
LLM_RESOLVE_MODEL_BUILTIN_DEF,
};
pub(crate) use self::capability_projection::capabilities_to_vm_value;
pub(crate) use self::catalog_builtins::parse_catalog_refresh_options;
pub(crate) use self::model_projection::llm_catalog_value;
pub(crate) use self::provider_projection::llm_provider_status_value;
pub(crate) fn register_config_builtins(vm: &mut Vm) {
register_builtin_defs(vm, option_registry::OPTION_REGISTRY_DEFS);
register_builtin_defs(vm, LLM_CONFIG_DEFS);
}
const LLM_CONFIG_DEFS: &[&VmBuiltinDef] = &[
&PROVIDER_CAPABILITIES_BUILTIN_DEF,
&PROVIDER_CAPABILITIES_INSTALL_BUILTIN_DEF,
&PROVIDER_CAPABILITIES_CLEAR_BUILTIN_DEF,
&LLM_INFER_PROVIDER_BUILTIN_DEF,
&LLM_MODEL_TIER_BUILTIN_DEF,
&LLM_RESOLVE_MODEL_BUILTIN_DEF,
&LLM_EXECUTION_CONTRACT_BUILTIN_DEF,
&LLM_MODEL_INFO_BUILTIN_DEF,
&LLM_KNOWN_MODELS_BUILTIN_DEF,
&LLM_AVAILABLE_PROVIDERS_BUILTIN_DEF,
&LLM_QC_DEFAULT_MODEL_BUILTIN_DEF,
&LLM_RESOLVED_OPTIONS_BUILTIN_DEF,
&LLM_APPLY_REASONING_POLICY_BUILTIN_DEF,
&LLM_REASONING_EFFORT_BUDGET_BUILTIN_DEF,
&LLM_MODEL_DEFAULTS_BUILTIN_DEF,
&LLM_PROVIDER_CATALOG_BUILTIN_DEF,
&LLM_PICK_MODEL_BUILTIN_DEF,
&LLM_COMPLEMENTARY_REVIEWER_BUILTIN_DEF,
&LLM_PROVIDERS_BUILTIN_DEF,
&PROVIDER_REGISTER_BUILTIN_DEF,
&LLM_CONFIG_BUILTIN_DEF,
&LLM_CATALOG_BUILTIN_DEF,
&LLM_EQUIVALENT_MODELS_BUILTIN_DEF,
&LLM_CATALOG_REFRESH_BUILTIN_DEF,
&LLM_PROVIDER_STATUS_BUILTIN_DEF,
&LLM_RATE_LIMIT_BUILTIN_DEF,
&LLM_HEALTHCHECK_BUILTIN_DEF,
];