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

register_module(
    ModuleManifest(
        name="ai",
        version=1,
        domain="platform",
        label_key="ai.module_label",
        description="AI — semantic entity registry, action dispatch, and AI-powered features",
        capabilities=(
            CapabilitySpec(slug="semantic", label_key="ai.capabilities.semantic",
                          description="Semantic entity registry and AI context", icon="brain"),
            CapabilitySpec(slug="actions", label_key="ai.capabilities.actions",
                          description="AI-invokable action dispatch", icon="zap"),
        ),
        features=(
            FeatureSpec(code="semantic.registry", label_key="ai.features.semantic_registry", 
                       scope="tenant", default_enabled=True, 
                       description="Entity schema registry with semantic descriptions for AI context"),
            FeatureSpec(code="actions.dispatch", label_key="ai.features.action_dispatch", 
                       scope="tenant", default_enabled=True, 
                       description="AI-invokable action registration and dispatch"),
            FeatureSpec(code="actions.assistant", label_key="ai.features.ai_assistant", 
                       scope="tenant", default_enabled=False, 
                       description="AI-powered assistant with natural language query support"),
        ),
    )
)
