2025-04-30 17:28:02 +08:00
|
|
|
from collections.abc import Callable
|
|
|
|
from typing import TYPE_CHECKING
|
2024-10-21 10:43:49 +08:00
|
|
|
|
|
|
|
if TYPE_CHECKING:
|
|
|
|
from core.tools.tool_file_manager import ToolFileManager
|
|
|
|
|
2025-04-30 17:28:02 +08:00
|
|
|
_tool_file_manager_factory: Callable[[], "ToolFileManager"] | None = None
|
2024-09-10 17:00:20 +08:00
|
|
|
|
2024-01-23 19:58:23 +08:00
|
|
|
|
|
|
|
class ToolFileParser:
|
|
|
|
@staticmethod
|
2024-09-10 17:00:20 +08:00
|
|
|
def get_tool_file_manager() -> "ToolFileManager":
|
2025-04-30 17:28:02 +08:00
|
|
|
assert _tool_file_manager_factory is not None
|
|
|
|
return _tool_file_manager_factory()
|
|
|
|
|
|
|
|
|
|
|
|
def set_tool_file_manager_factory(factory: Callable[[], "ToolFileManager"]) -> None:
|
|
|
|
global _tool_file_manager_factory
|
|
|
|
_tool_file_manager_factory = factory
|