from simorgh.apps.modules.registry import CapabilitySpec, FeatureSpec, ModuleManifest, register_module

register_module(
    ModuleManifest(
        name="schema",
        version=1,
        domain="platform",
        label_key="schema.module_label",
        description="Schema — dynamic form, grid, and page schema registry for metadata-driven UI",
        capabilities=(
            CapabilitySpec(slug="dynamic", label_key="schema.capabilities.dynamic",
                          description="Dynamic schema management", icon="layout"),
        ),
        features=(
            FeatureSpec(code="dynamic.schema_registry", label_key="schema.features.schema_registry", scope="tenant", default_enabled=True, is_always_on=True, is_platform_internal=True, description="Dynamic DataSourceSchema, GridSchema, FormSchema registry"),
            FeatureSpec(code="dynamic.schema_renderer", label_key="schema.features.schema_renderer", scope="tenant", default_enabled=True, is_always_on=True, is_platform_internal=True, description="Schema-driven UI rendering for lists, forms, and detail pages"),
        ),
    )
)
