secureKeyPreloadNames function
Set<String>
secureKeyPreloadNames(
- CliConfig saved, {
- required String? baseUrl,
- Iterable<
ProviderQueueEntry> queueEntries = const [],
Every provider key name the startup snapshot must preload: each catalog
provider's env names, the endpoint-scoped FA_KEY_<HOST> name for every
catalog default endpoint plus the configured endpoint and every saved
custom provider's, the two non-catalog media slots, the explicit
apiKeyNames referenced by the roles config, and every key name the
resolved boot queue's entries reference (gh-1781 — a queue-only boot
must resolve its keys from the store on cold starts).
Implementation
Set<String> secureKeyPreloadNames(
CliConfig saved, {
required String? baseUrl,
Iterable<ProviderQueueEntry> queueEntries = const [],
}) {
return {
for (final spec in providerCatalog.values) ...[
...spec.apiKeyEnvNames,
// Endpoint-scoped keys (FA_KEY_<HOST>): catalog defaults.
CustomProviderRegistry.keyNameFor(spec.defaultBaseUrl),
],
if (baseUrl != null) CustomProviderRegistry.keyNameFor(baseUrl),
for (final entry in saved.customProviders)
entry.keyName ?? CustomProviderRegistry.keyNameFor(entry.baseUrl),
'VISION_API_KEY',
'TRANSCRIBE_API_KEY',
if (saved.modelRoles != null)
...roleKeyNames(
saved.modelRoles!,
customProviders: saved.customProviders,
),
...queueEntryKeyNames(queueEntries),
};
}