Spaces:
Build error
Build error
| from typing import Any | |
| from fastapi import APIRouter | |
| from openhands.controller.agent import Agent | |
| from openhands.security.options import SecurityAnalyzers | |
| from openhands.server.dependencies import get_dependencies | |
| from openhands.server.shared import config, server_config | |
| from openhands.utils.llm import get_supported_llm_models | |
| app = APIRouter(prefix='/api/options', dependencies=get_dependencies()) | |
| async def get_litellm_models() -> list[str]: | |
| """Get all models supported by LiteLLM. | |
| This function combines models from litellm and Bedrock, removing any | |
| error-prone Bedrock models. | |
| To get the models: | |
| ```sh | |
| curl http://localhost:3000/api/litellm-models | |
| ``` | |
| Returns: | |
| list[str]: A sorted list of unique model names. | |
| """ | |
| return get_supported_llm_models(config) | |
| async def get_agents() -> list[str]: | |
| """Get all agents supported by LiteLLM. | |
| To get the agents: | |
| ```sh | |
| curl http://localhost:3000/api/agents | |
| ``` | |
| Returns: | |
| list[str]: A sorted list of agent names. | |
| """ | |
| return sorted(Agent.list_agents()) | |
| async def get_security_analyzers() -> list[str]: | |
| """Get all supported security analyzers. | |
| To get the security analyzers: | |
| ```sh | |
| curl http://localhost:3000/api/security-analyzers | |
| ``` | |
| Returns: | |
| list[str]: A sorted list of security analyzer names. | |
| """ | |
| return sorted(SecurityAnalyzers.keys()) | |
| async def get_config() -> dict[str, Any]: | |
| """Get current config. | |
| Returns: | |
| dict[str, Any]: The current server configuration. | |
| """ | |
| return server_config.get_config() | |