-keep class ai.revrag.embed.android.** { *; }
-keep class ai.revrag.embed.core.** { *; }
-keepclassmembers class ai.revrag.embed.** { *; }

# Shaded Ktor — bundled inside the AAR under a relocated package so consumers'
# Ktor versions cannot conflict with ours. R8 must keep the relocated classes
# AND their ServiceLoader entries (Ktor uses ServiceLoader for plugin discovery).
-keep class ai.revrag.shaded.ktor.** { *; }
-keepclassmembers class ai.revrag.shaded.ktor.** { *; }
-keepattributes RuntimeVisibleAnnotations, RuntimeInvisibleAnnotations, Signature, InnerClasses, EnclosingMethod

# Shaded Ktor references JVM-only debug/JMX classes that don't exist on Android.
# Ktor handles their absence gracefully at runtime via try/catch — silence R8.
-dontwarn java.lang.management.**
-dontwarn javax.management.**
-dontwarn org.slf4j.impl.**
# Ktor's CIO engine + tests reference Java NIO selectors not available on all
# Android API levels — also handled gracefully at runtime.
-dontwarn ai.revrag.shaded.ktor.network.selector.**
-dontwarn ai.revrag.shaded.ktor.utils.io.jvm.javaio.**
