12345678910111213141516171819202122 |
- from typing import Any
- import websocket
- from yarl import URL
- from core.tools.errors import ToolProviderCredentialValidationError
- from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
- class ComfyUIProvider(BuiltinToolProviderController):
- def _validate_credentials(self, credentials: dict[str, Any]) -> None:
- ws = websocket.WebSocket()
- base_url = URL(credentials.get("base_url"))
- ws_address = f"ws://{base_url.authority}/ws?clientId=test123"
- try:
- ws.connect(ws_address)
- except Exception as e:
- raise ToolProviderCredentialValidationError(f"can not connect to {ws_address}")
- finally:
- ws.close()
|