/** * Persistence of the user's (provider, model) selection in the inline * prompt, keyed by notebook path. Stored in localStorage so the * preference survives panel close/reopen and JupyterLab restart. * * The selection is ALWAYS validated against the current providers * payload before being applied: if the stored provider (or the model * under it) is no longer present, the caller falls back to its * default-selection logic. We never silently apply a stale value that * would result in an empty / disabled