Forge
csharp809ae470
1using CascadeIDE.Features.Forge.Infrastructure;
2
3namespace CascadeIDE.Features.Forge.Lens;
4
5/// <summary>Резолв Bearer для Forge Lens (ADR 0158 §3, образец Intercom secrets + FORGE-ADR-0010).</summary>
6public static class ForgeLensCredentialResolver
7{
8 public static string? ResolveApiToken(string baseUrl, string? apiTokenEnv)
9 {
10 var fromCide = ForgeLensSecretsStorage.TryGetToken(baseUrl);
11 if (!string.IsNullOrEmpty(fromCide))
12 return fromCide;
13
14 var fromForgeCli = ForgeSharedCredentialReader.TryGetToken(baseUrl);
15 if (!string.IsNullOrEmpty(fromForgeCli))
16 return fromForgeCli;
17
18 var envName = apiTokenEnv?.Trim();
19 if (string.IsNullOrEmpty(envName))
20 return null;
21
22 var fromEnv = Environment.GetEnvironmentVariable(envName)?.Trim();
23 return string.IsNullOrEmpty(fromEnv) ? null : fromEnv;
24 }
25}
26
View only · write via MCP/CIDE