use sim_kernel::CapabilityName;
pub const OPENAI_GATEWAY_SERVE_CAPABILITY: &str = "openai-gateway.serve";
pub const OPENAI_GATEWAY_ADMIN_CAPABILITY: &str = "openai-gateway.admin";
pub const OPENAI_GATEWAY_PLAN_CAPABILITY: &str = "openai-gateway.plan";
pub const OPENAI_GATEWAY_PLAN_REMOTE_CAPABILITY: &str = "openai-gateway.plan.remote";
pub const OPENAI_GATEWAY_FEDERATE_CAPABILITY: &str = "openai-gateway.federate";
pub const OPENAI_GATEWAY_TOOLS_CAPABILITY: &str = "openai-gateway.tools";
pub const AI_RUNNER_CACHE_CAPABILITY: &str = "ai-runner-cache";
pub const NETWORK_CAPABILITY: &str = "network";
pub const WEBHOOK_SERVE_CAPABILITY: &str = "webhook-serve";
pub fn openai_gateway_serve_capability() -> CapabilityName {
CapabilityName::new(OPENAI_GATEWAY_SERVE_CAPABILITY)
}
pub fn openai_gateway_admin_capability() -> CapabilityName {
CapabilityName::new(OPENAI_GATEWAY_ADMIN_CAPABILITY)
}
pub fn openai_gateway_plan_capability() -> CapabilityName {
CapabilityName::new(OPENAI_GATEWAY_PLAN_CAPABILITY)
}
pub fn openai_gateway_plan_remote_capability() -> CapabilityName {
CapabilityName::new(OPENAI_GATEWAY_PLAN_REMOTE_CAPABILITY)
}
pub fn openai_gateway_federate_capability() -> CapabilityName {
CapabilityName::new(OPENAI_GATEWAY_FEDERATE_CAPABILITY)
}
pub fn openai_gateway_tools_capability() -> CapabilityName {
CapabilityName::new(OPENAI_GATEWAY_TOOLS_CAPABILITY)
}
pub fn ai_runner_cache_capability() -> CapabilityName {
CapabilityName::new(AI_RUNNER_CACHE_CAPABILITY)
}
pub fn network_capability() -> CapabilityName {
CapabilityName::new(NETWORK_CAPABILITY)
}
pub fn webhook_serve_capability() -> CapabilityName {
CapabilityName::new(WEBHOOK_SERVE_CAPABILITY)
}
pub fn openai_gateway_serve_capabilities() -> Vec<CapabilityName> {
vec![
openai_gateway_serve_capability(),
network_capability(),
webhook_serve_capability(),
]
}