from simorgh.apps.modules.registry import CapabilitySpec, FeatureSpec, ModuleManifest, register_module

register_module(
    ModuleManifest(
        name="app_settings",
        version=1,
        domain="platform",
        label_key="app_settings.module_label",
        description="App Settings — typed, scoped configuration registry with hierarchical overrides",
        capabilities=(
            CapabilitySpec(slug="config", label_key="app_settings.capabilities.config",
                          description="Configuration and settings management", icon="sliders"),
        ),
        features=(
            FeatureSpec(code="config.registry", label_key="app_settings.features.settings_registry", 
                       scope="tenant", default_enabled=True, is_always_on=True, is_platform_internal=True, 
                       description="Central settings registry with typed values and validation"),
            FeatureSpec(code="config.scoped_overrides", label_key="app_settings.features.scoped_overrides", 
                       scope="tenant", default_enabled=True, is_always_on=True, is_platform_internal=True, 
                       description="System → Tenant → Org → Module → User setting overrides"),
        ),
    )
)
