imajin/scripts/run/service_config.py
2026-03-06 02:22:54 -08:00

48 lines
1.7 KiB
Python

"""Service configuration compatibility shim for @imajin.
Delegates to lilith_workspace_runner.service_registry, preserving the original
2-argument API that local commands (generate_command.py) depend on.
"""
from pathlib import Path
from lilith_workspace_runner.config import WorkspaceConfig
from lilith_workspace_runner.service_registry import (
get_service_config as _get_service_config,
list_services as _list_services,
)
_WORKSPACE_ROOT = Path(__file__).resolve().parent.parent.parent
_CONFIG = WorkspaceConfig(
name="@imajin",
service_ports_file="ports.yaml",
service_ports_section="imajin",
service_dirs={
"classifier": "services/imajin-request-classifier/service",
"diffusion": "services/imajin-diffusion/service",
"prompt": "services/imajin-prompt/service",
"processing": "services/imajin-processing/service",
"aesthetic": "services/imajin-aesthetic/service",
"semantic": "services/imajin-semantic/service",
"moderator": "services/imajin-moderator/service",
"identity": "services/imajin-identity/service",
},
service_apps={
"classifier": "src.api.main:app",
"diffusion": "src.api.main:app",
"prompt": "src.api.main:app",
"aesthetic": "src.api.main:app",
"semantic": "src.api.main:app",
"moderator": "src.api.main:app",
"identity": "src.api.app:app",
},
service_types={"processing": "typescript"},
)
def get_service_config(service_id: str, environment: str = "dev") -> dict:
return _get_service_config(service_id, environment, _WORKSPACE_ROOT, _CONFIG)
def list_services(environment: str = "dev") -> list[str]:
return _list_services(environment, _WORKSPACE_ROOT, _CONFIG)