core/remote_config_service library

Classes

RemoteConfigKeySchema
One remote-config key's expected shape — registered via RemoteConfigService's schema constructor param (ENH-84). Reuses EventParamType (SdkEventSchemaRegistry's own 4 primitive kinds) — remote config values are the exact same string/int/double/bool shapes, no need for a parallel type enum.
RemoteConfigService
Remote config / feature-flag seam. The package pulls in no HTTP/Firebase SDK — a consuming app injects its own network call via fetchRemote (e.g. wrapping dio/http/Firebase Remote Config). init always loads the bundled asset fallback first so typed getters have something valid to return even before (or if) the network attempt resolves, then tries fetchRemote and MERGES its entries on top of the asset defaults key-by-key (ENH-58) — a partial response only overrides the keys it actually sends, every other key keeps its already-validated asset value. A null value for a key in the remote response is treated as "no override" (skipped) rather than "set this key to null", so a server that echoes back unset fields as null can't wipe a working default. A missing asset or a failing/absent fetchRemote is swallowed silently — this never throws, it just falls back to defaults.

Enums

RemoteConfigSource
Where RemoteConfigService's current config actually came from — exposed alongside RemoteConfigService.snapshot so a caller/test can tell "still asset-only" apart from "remote merged in" without having to diff key values (ENH-58).