| 123456789101112131415161718192021 | import os.pathfrom core.helper.position_helper import get_tool_position_map, sort_by_position_mapfrom core.tools.entities.api_entities import UserToolProviderclass BuiltinToolProviderSort:    _position = {}    @classmethod    def sort(cls, providers: list[UserToolProvider]) -> list[UserToolProvider]:        if not cls._position:            cls._position = get_tool_position_map(os.path.join(os.path.dirname(__file__), ".."))        def name_func(provider: UserToolProvider) -> str:            return provider.name        sorted_providers = sort_by_position_map(cls._position, providers, name_func)        return sorted_providers
 |