mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-10-22 09:28:42 +00:00
36 lines
1017 B
Python
36 lines
1017 B
Python
from typing import Any, Callable, Dict, List, Literal, Optional, Tuple, Type, Union
|
||
|
||
from .base import Vis
|
||
from .tags.vis_agent_message import VisAgentMessages
|
||
from .tags.vis_agent_plans import VisAgentPlans
|
||
from .tags.vis_chart import VisChart
|
||
from .tags.vis_code import VisCode
|
||
from .tags.vis_dashboard import VisDashboard
|
||
from .tags.vis_plugin import VisPlugin
|
||
|
||
|
||
class VisClient:
|
||
def __init__(self):
|
||
self._vis_tag: Dict[str, Vis] = {}
|
||
|
||
def register(self, vis_cls: Vis):
|
||
self._vis_tag[vis_cls.vis_tag()] = vis_cls()
|
||
|
||
def get(self, tag_name):
|
||
if tag_name not in self._vis_tag:
|
||
raise ValueError(f"Vis protocol tags not yet supported![{tag_name}]")
|
||
return self._vis_tag[tag_name]
|
||
|
||
def tag_names(self):
|
||
self._vis_tag.keys()
|
||
|
||
|
||
vis_client = VisClient()
|
||
|
||
vis_client.register(VisCode)
|
||
vis_client.register(VisChart)
|
||
vis_client.register(VisDashboard)
|
||
vis_client.register(VisAgentPlans)
|
||
vis_client.register(VisAgentMessages)
|
||
vis_client.register(VisPlugin)
|