Metadata contract for an optional provider-native ASM extension namespace.
@type t() :: %ASM.Extensions.ProviderSDK.Extension{ description: String.t(), id: atom(), namespace: module(), native_capabilities: [atom()], native_surface_modules: [module()], provider: ASM.Provider.provider_name(), sdk_app: atom(), sdk_available?: boolean(), sdk_module: module() }
@spec new!(keyword()) :: t()