3// Type-safe literal-to-branded converter for dynamic secret names 4export const tsSec = <T extends string>(s: T) => s as T & secretNameType 6// Known mapped secret names (logical keys used with getPlainMappedSec) 8 appSecret: tsSec('appSecret'), 9 exceptionsImapSecretName: tsSec('exceptionsImapSecretName'), 10 openrouterApiToken: tsSec('openrouterApiToken'), 11 mixrouteApiToken: tsSec('mixrouteApiToken'), 12 moonshotApiToken: tsSec('moonshotApiToken'), 13 kimicodeApiToken: tsSec('kimicodeApiToken'), 14 etherscanApiTok: tsSec('etherscanApiTok'), 15 alchemyApiTok: tsSec('alchemyApiTok'), 16 supportArtistsRedirect: tsSec('supportArtistsRedirect'),