feat(plugins): discover packages and persist state
This commit is contained in:
@ -16,6 +16,7 @@ from .schema import (
|
||||
ChannelConfig,
|
||||
EmbeddingConfig,
|
||||
MCPServerConfig,
|
||||
PluginsConfig,
|
||||
ProviderConfig,
|
||||
ToolsConfig,
|
||||
)
|
||||
@ -73,6 +74,7 @@ def load_config(
|
||||
providers=_parse_providers(data.get("providers")),
|
||||
embedding=_parse_embedding(data),
|
||||
tools=_parse_tools(data.get("tools")),
|
||||
plugins=_parse_plugins(data.get("plugins")),
|
||||
authz=_parse_authz(data.get("authz")),
|
||||
channels=_parse_channels(data.get("channels")),
|
||||
backend_identity=_parse_backend_identity(data.get("backend_identity") or data.get("backendIdentity")),
|
||||
@ -188,6 +190,17 @@ def _parse_tools(raw: Any) -> ToolsConfig:
|
||||
)
|
||||
|
||||
|
||||
def _parse_plugins(raw: Any) -> PluginsConfig:
|
||||
data = _as_dict(raw)
|
||||
return PluginsConfig(
|
||||
search_paths=_string_list(data.get("searchPaths") or data.get("search_paths")),
|
||||
auto_sync=_bool(
|
||||
data.get("autoSync") if "autoSync" in data else data.get("auto_sync"),
|
||||
default=True,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
def _parse_authz(raw: Any) -> AuthzConfig:
|
||||
data = _as_dict(raw)
|
||||
return AuthzConfig(
|
||||
|
||||
Reference in New Issue
Block a user