folderStateProviderEntry function

({CustomProviderEntry? entry, String? note}) folderStateProviderEntry(
  1. FolderModelState? state,
  2. CustomProviderRegistry? registry
)

The saved custom-provider entry a folder state's FolderModelState .customProvider name pins, resolved against the live registry.

The pin is what makes a restore land on the SAME account the session ran on when several entries share one endpoint+modelId (gh-1000 AC1 — name-pinned, never modelId-matched). A name that no longer resolves (the entry was renamed or deleted between runs) degrades to endpoint-keyed resolution with a one-line note (gh-1000 E1 — the model is kept); a state without a pin (written before gh-1000) resolves exactly as before (AC4).

Implementation

({CustomProviderEntry? entry, String? note}) folderStateProviderEntry(
  FolderModelState? state,
  CustomProviderRegistry? registry,
) {
  final name = state?.customProvider;
  if (name == null || name.isEmpty) return (entry: null, note: null);
  final entry = registry?.find(name);
  if (entry != null) return (entry: entry, note: null);
  return (
    entry: null,
    note: 'saved provider "$name" is no longer configured — resolved by '
        'endpoint (model kept)',
  );
}