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