folderStateProviderEntry function
({CustomProviderEntry? entry, String? note})
folderStateProviderEntry(
- FolderModelState? state,
- 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)',
);
}