194 references to AgentEnvironment
aspire (59)
Agents\AgentClient.cs (8)
25Environments = AgentEnvironment.CopilotCli | AgentEnvironment.CopilotApp | AgentEnvironment.VsCode, 48Environments = AgentEnvironment.ClaudeCode, 60Environments = AgentEnvironment.OpenCode, 78public required AgentEnvironment Environments { get; init; } 96public bool Includes(AgentEnvironment environments) => (Environments & environments) != AgentEnvironment.None;
Agents\AgentEnvironmentDetector.cs (3)
12public async Task<AgentEnvironment> DetectAsync( 16var environments = AgentEnvironment.None;
Agents\ClaudeCode\ClaudeCodeAgentEnvironmentScanner.cs (4)
17public async Task<AgentEnvironment> ScanAsync(AgentEnvironmentScanContext context, CancellationToken cancellationToken) 29return AgentEnvironment.ClaudeCode; 37return AgentEnvironment.ClaudeCode; 42return AgentEnvironment.None;
Agents\Copilot\CopilotAgentEnvironmentScanner.cs (5)
18public async Task<AgentEnvironment> ScanAsync(AgentEnvironmentScanContext context, CancellationToken cancellationToken) 23var environments = AgentEnvironment.None; 27environments |= AgentEnvironment.CopilotApp; 44environments |= AgentEnvironment.CopilotCli;
Agents\Hooks\ITelemetryHookConfigurator.cs (3)
21AgentEnvironment detectedEnvironments, 45internal sealed record TelemetryHookSkip(AgentEnvironment Environment, TelemetryHookSkipReason Reason); 53AgentEnvironment ConfiguredEnvironments,
Agents\Hooks\TelemetryHookConfigurator.cs (13)
57AgentEnvironment detectedEnvironments, 60var configured = AgentEnvironment.None; 68var copilotEnvironment = detectedEnvironments & ( 69AgentEnvironment.CopilotApp | AgentEnvironment.CopilotCli); 71if (copilotEnvironment.HasFlag(AgentEnvironment.CopilotApp)) 73copilotEnvironment = AgentEnvironment.CopilotApp; 76var configureClaude = detectedEnvironments.HasFlag(AgentEnvironment.ClaudeCode); 77if (copilotEnvironment == AgentEnvironment.None && !configureClaude) 85if (copilotEnvironment != AgentEnvironment.None) 102skipped.Add(new TelemetryHookSkip(AgentEnvironment.ClaudeCode, reason)); 106configured |= AgentEnvironment.ClaudeCode;
Agents\IAgentEnvironmentDetector.cs (1)
17Task<AgentEnvironment> DetectAsync(
Agents\IAgentEnvironmentScanner.cs (1)
17Task<AgentEnvironment> ScanAsync(AgentEnvironmentScanContext context, CancellationToken cancellationToken);
Agents\OpenCode\OpenCodeAgentEnvironmentScanner.cs (4)
16public async Task<AgentEnvironment> ScanAsync(AgentEnvironmentScanContext context, CancellationToken cancellationToken) 29return AgentEnvironment.OpenCode; 37return AgentEnvironment.OpenCode; 42return AgentEnvironment.None;
Agents\VsCode\VsCodeAgentEnvironmentScanner.cs (4)
19public async Task<AgentEnvironment> ScanAsync(AgentEnvironmentScanContext context, CancellationToken cancellationToken) 32return AgentEnvironment.VsCode; 38return AgentEnvironment.VsCode; 45return AgentEnvironment.None;
Commands\AgentInitCommand.cs (13)
260AgentEnvironment? detectedEnvironments = null; 558var selectedEnvironments = selectedClients.Aggregate(AgentEnvironment.None, 578private async Task ConfigureTelemetryHooksAsync(AgentEnvironment detectedEnvironments, CancellationToken cancellationToken) 595if (result.ConfiguredEnvironments != AgentEnvironment.None) 597var environmentNames = string.Join(", ", Enum.GetValues<AgentEnvironment>() 598.Where(environment => environment != AgentEnvironment.None && result.ConfiguredEnvironments.HasFlag(environment)) 621private static string GetEnvironmentDisplayName(AgentEnvironment environment) 624AgentEnvironment.CopilotCli => "GitHub Copilot CLI", 625AgentEnvironment.CopilotApp => "GitHub Copilot App", 626AgentEnvironment.ClaudeCode => "Claude Code", 627AgentEnvironment.VsCode => "VS Code", 628AgentEnvironment.OpenCode => "OpenCode",
Aspire.Cli.Tests (135)
Agents\AgentEnvironmentDetectorTests.cs (13)
23var environments = await detector.DetectAsync(context, CancellationToken.None).DefaultTimeout(); 25Assert.Equal(AgentEnvironment.None, environments); 53DetectedEnvironments = AgentEnvironment.ClaudeCode 62var environments = await detector.DetectAsync(context, CancellationToken.None).DefaultTimeout(); 64Assert.Equal(AgentEnvironment.ClaudeCode, environments); 73DetectedEnvironments = AgentEnvironment.CopilotCli | AgentEnvironment.CopilotApp 77DetectedEnvironments = AgentEnvironment.OpenCode | AgentEnvironment.CopilotCli 86var environments = await detector.DetectAsync(context, CancellationToken.None).DefaultTimeout(); 90Assert.Equal(AgentEnvironment.CopilotCli | AgentEnvironment.CopilotApp | AgentEnvironment.OpenCode, environments);
Agents\ClaudeCodeAgentEnvironmentScannerTests.cs (9)
34var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 36Assert.Equal(AgentEnvironment.ClaudeCode, environments); 64var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 66Assert.Equal(AgentEnvironment.ClaudeCode, environments); 90var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 92Assert.Equal(AgentEnvironment.None, environments); 125var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 127Assert.Equal(rootHasProjectDirectory ? AgentEnvironment.ClaudeCode : AgentEnvironment.None, environments);
Agents\CopilotAgentEnvironmentScannerTests.cs (10)
35var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 37Assert.Equal((cliInstalled ? AgentEnvironment.CopilotCli : AgentEnvironment.None) | 38(appInstalled ? AgentEnvironment.CopilotApp : AgentEnvironment.None), environments); 60var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 62Assert.Equal(appInstalled ? AgentEnvironment.CopilotApp : AgentEnvironment.None, environments); 85var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 87Assert.Equal(AgentEnvironment.CopilotCli, environments);
Agents\OpenCodeAgentEnvironmentScannerTests.cs (5)
34var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 36Assert.Equal(AgentEnvironment.OpenCode, environments); 56var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 58Assert.Equal(cliInstalled ? AgentEnvironment.OpenCode : AgentEnvironment.None, environments);
Agents\TelemetryHookConfiguratorTests.cs (42)
22var result = await configurator.ConfigureAsync(AgentEnvironment.CopilotCli, CancellationToken.None).DefaultTimeout(); 24Assert.Equal(AgentEnvironment.CopilotCli, result.ConfiguredEnvironments); 51AgentEnvironment.CopilotCli | AgentEnvironment.CopilotApp | AgentEnvironment.ClaudeCode | 52AgentEnvironment.VsCode | AgentEnvironment.OpenCode, 55Assert.Equal(AgentEnvironment.CopilotApp | AgentEnvironment.ClaudeCode, result.ConfiguredEnvironments); 74AgentEnvironment.CopilotApp | AgentEnvironment.CopilotCli | AgentEnvironment.ClaudeCode, 77Assert.Equal(AgentEnvironment.ClaudeCode, result.ConfiguredEnvironments); 79Assert.Equal(AgentEnvironment.CopilotApp, skip.Environment); 96await configurator.ConfigureAsync(AgentEnvironment.CopilotCli, CancellationToken.None).DefaultTimeout(); 109var result = await configurator.ConfigureAsync(AgentEnvironment.ClaudeCode, CancellationToken.None).DefaultTimeout(); 111Assert.Equal(AgentEnvironment.ClaudeCode, result.ConfiguredEnvironments); 135await configurator.ConfigureAsync(AgentEnvironment.ClaudeCode, CancellationToken.None).DefaultTimeout(); 136await configurator.ConfigureAsync(AgentEnvironment.ClaudeCode, CancellationToken.None).DefaultTimeout(); 171await configurator.ConfigureAsync(AgentEnvironment.ClaudeCode, CancellationToken.None).DefaultTimeout(); 191await configurator.ConfigureAsync(AgentEnvironment.ClaudeCode, CancellationToken.None); 192await configurator.ConfigureAsync(AgentEnvironment.ClaudeCode, CancellationToken.None); 203[InlineData((int)AgentEnvironment.ClaudeCode, (int)AgentEnvironment.None)] 205(int)(AgentEnvironment.CopilotApp | AgentEnvironment.CopilotCli | AgentEnvironment.ClaudeCode), 206(int)AgentEnvironment.CopilotApp)] 218var result = await configurator.ConfigureAsync((AgentEnvironment)detectedEnvironments, CancellationToken.None).DefaultTimeout(); 220Assert.Equal((AgentEnvironment)expectedEnvironments, result.ConfiguredEnvironments); 222Assert.Equal(AgentEnvironment.ClaudeCode, skip.Environment); 262await configurator.ConfigureAsync(AgentEnvironment.ClaudeCode, CancellationToken.None); 263await configurator.ConfigureAsync(AgentEnvironment.ClaudeCode, CancellationToken.None); 285var result = await configurator.ConfigureAsync(AgentEnvironment.ClaudeCode, CancellationToken.None).DefaultTimeout(); 287Assert.Contains(result.Skipped, s => s.Environment == AgentEnvironment.ClaudeCode && s.Reason == TelemetryHookSkipReason.UnexpectedConfigShape); 305var result = await configurator.ConfigureAsync(AgentEnvironment.ClaudeCode, CancellationToken.None).DefaultTimeout(); 307Assert.Contains(result.Skipped, s => s.Environment == AgentEnvironment.ClaudeCode && s.Reason == TelemetryHookSkipReason.UnexpectedConfigShape); 312[InlineData((int)AgentEnvironment.None)] 313[InlineData((int)(AgentEnvironment.VsCode | AgentEnvironment.OpenCode))] 319var result = await configurator.ConfigureAsync((AgentEnvironment)detectedEnvironments, CancellationToken.None).DefaultTimeout(); 321Assert.Equal(AgentEnvironment.None, result.ConfiguredEnvironments);
Agents\VsCodeAgentEnvironmentScannerTests.cs (11)
33var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 35Assert.Equal(AgentEnvironment.VsCode, environments); 59var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 61Assert.Equal(AgentEnvironment.None, environments); 84var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 86Assert.Equal(AgentEnvironment.VsCode, environments); 106var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 108Assert.Equal(cliInstalled ? AgentEnvironment.VsCode : AgentEnvironment.None, environments); 127var environments = await scanner.ScanAsync(context, CancellationToken.None).DefaultTimeout(); 129Assert.Equal(AgentEnvironment.VsCode, environments);
Commands\AgentInitClientSelectionTests.cs (29)
111DetectedEnvironments = AgentEnvironment.CopilotApp | AgentEnvironment.CopilotCli | AgentEnvironment.VsCode 120Assert.True(AgentClient.Copilot.Includes(AgentEnvironment.CopilotApp)); 121Assert.True(AgentClient.Copilot.Includes(AgentEnvironment.CopilotCli)); 122Assert.True(AgentClient.Copilot.Includes(AgentEnvironment.VsCode)); 134[InlineData("project", true, false, nameof(AgentEnvironment.ClaudeCode), "claude")] 135[InlineData("project", false, true, nameof(AgentEnvironment.ClaudeCode), "claude")] 136[InlineData("project", true, true, nameof(AgentEnvironment.ClaudeCode), "claude")] 137[InlineData("project", false, false, nameof(AgentEnvironment.ClaudeCode), "claude")] 138[InlineData("global", true, false, nameof(AgentEnvironment.ClaudeCode), "claude")] 139[InlineData("global", false, true, nameof(AgentEnvironment.ClaudeCode), "claude")] 140[InlineData("global", true, true, nameof(AgentEnvironment.ClaudeCode), "claude")] 141[InlineData("global", false, false, nameof(AgentEnvironment.ClaudeCode), "claude")] 142[InlineData("project", false, true, nameof(AgentEnvironment.OpenCode), "opencode")] 143[InlineData("global", false, true, nameof(AgentEnvironment.OpenCode), "opencode")] 151AgentEnvironment? detectedEnvironment = detectedEnvironmentName is { } name ? Enum.Parse<AgentEnvironment>(name) : null; 154DetectedEnvironments = detectedEnvironment ?? AgentEnvironment.None 194defaults.Any(client => client.Includes(detected)) ? detected : AgentEnvironment.None, 207var detector = new TestAgentEnvironmentDetector { DetectedEnvironments = AgentEnvironment.ClaudeCode }; 221Assert.Equal(expectedScanCount == 1 ? AgentEnvironment.ClaudeCode : AgentEnvironment.None, hooks.ConfiguredEnvironments); 338Assert.Equal(AgentEnvironment.None, hooks.ConfiguredEnvironments); 1231DetectedEnvironments = AgentEnvironment.CopilotApp | AgentEnvironment.ClaudeCode | AgentEnvironment.OpenCode 1239Assert.Equal(scope == "global" ? AgentEnvironment.ClaudeCode : AgentEnvironment.None, hooks.ConfiguredEnvironments);
Commands\AgentInitCommandTests.cs (7)
721options.AgentEnvironmentDetectorFactory = _ => new TestAgentEnvironmentDetector { DetectedEnvironments = AgentEnvironment.CopilotCli }; 757options.AgentEnvironmentDetectorFactory = _ => new TestAgentEnvironmentDetector { DetectedEnvironments = AgentEnvironment.CopilotCli }; 962[InlineData(nameof(AgentEnvironment.CopilotCli), "GitHub Copilot CLI")] 963[InlineData(nameof(AgentEnvironment.CopilotApp), "GitHub Copilot App")] 969var environment = Enum.Parse<AgentEnvironment>(environmentName); 1006options.AgentEnvironmentDetectorFactory = _ => new TestAgentEnvironmentDetector { DetectedEnvironments = AgentEnvironment.CopilotCli };
Commands\NewCommandTests.cs (3)
2466options.AgentEnvironmentDetectorFactory = _ => new TestAgentEnvironmentDetector { DetectedEnvironments = AgentEnvironment.CopilotCli }; 3345options.AgentEnvironmentDetectorFactory = _ => new TestAgentEnvironmentDetector { DetectedEnvironments = AgentEnvironment.CopilotCli }; 3374options.AgentEnvironmentDetectorFactory = _ => new TestAgentEnvironmentDetector { DetectedEnvironments = AgentEnvironment.CopilotCli };
TestServices\TestAgentEnvironmentDetector.cs (2)
14public AgentEnvironment DetectedEnvironments { get; init; } 16public Task<AgentEnvironment> DetectAsync(
TestServices\TestAgentEnvironmentScanner.cs (2)
12public AgentEnvironment DetectedEnvironments { get; init; } 14public Task<AgentEnvironment> ScanAsync(AgentEnvironmentScanContext context, CancellationToken cancellationToken)
TestServices\TestTelemetryHookConfigurator.cs (2)
12public AgentEnvironment ConfiguredEnvironments { get; private set; } 15AgentEnvironment detectedEnvironments,