Skip to content

[Automated] Update ATS API Surface Area - #19936

Open
aspire-repo-bot[bot] wants to merge 1 commit into
mainfrom
update-ats-diffs
Open

[Automated] Update ATS API Surface Area#19936
aspire-repo-bot[bot] wants to merge 1 commit into
mainfrom
update-ats-diffs

Conversation

@aspire-repo-bot

Copy link
Copy Markdown
Contributor

Auto-generated update to the ATS (Aspire Type System) capability surface to compare current surface vs latest release. This should only be merged once this surface area ships in a new release.

Copilot AI balanced review requested due to automatic review settings September 4, 2026 16:23
@aspire-repo-bot aspire-repo-bot Bot added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Sep 4, 2026
@aspire-repo-bot aspire-repo-bot Bot added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Sep 4, 2026
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 19936

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 19936"

@github-actions github-actions Bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Sep 4, 2026
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Tests selector

49 / 99 PR test projects · 4 PR jobs · 2 advisory-only targets, from 8 changed files.

Selected PR test projects (49 / 99)

Aspire.Hosting.Analyzers.Tests, Aspire.Hosting.Azure.Kubernetes.Tests, Aspire.Hosting.Azure.Kusto.Tests, Aspire.Hosting.Azure.Tests, Aspire.Hosting.Blazor.Tests, Aspire.Hosting.Browsers.Tests, Aspire.Hosting.CodeGeneration.Go.Tests, Aspire.Hosting.CodeGeneration.Java.Tests, Aspire.Hosting.CodeGeneration.Python.Tests, Aspire.Hosting.CodeGeneration.Rust.Tests, Aspire.Hosting.CodeGeneration.TypeScript.Tests, Aspire.Hosting.Containers.Tests, Aspire.Hosting.DevTunnels.Tests, Aspire.Hosting.Docker.Tests, Aspire.Hosting.Dotnet.Tests, Aspire.Hosting.DotnetTool.Tests, Aspire.Hosting.EntityFrameworkCore.Tests, Aspire.Hosting.Foundry.Tests, Aspire.Hosting.Garnet.Tests, Aspire.Hosting.GitHub.Models.Tests, Aspire.Hosting.Go.Tests, Aspire.Hosting.Java.Tests, Aspire.Hosting.JavaScript.Tests, Aspire.Hosting.Kafka.Tests, Aspire.Hosting.Keycloak.Tests, Aspire.Hosting.Kubernetes.Tests, Aspire.Hosting.Maui.Tests, Aspire.Hosting.Milvus.Tests, Aspire.Hosting.MongoDB.Tests, Aspire.Hosting.MySql.Tests, Aspire.Hosting.Nats.Tests, Aspire.Hosting.OpenAI.Tests, Aspire.Hosting.Oracle.Tests, Aspire.Hosting.Orleans.Tests, Aspire.Hosting.PostgreSQL.Tests, Aspire.Hosting.Python.Tests, Aspire.Hosting.Qdrant.Tests, Aspire.Hosting.RabbitMQ.Tests, Aspire.Hosting.Radius.Tests, Aspire.Hosting.Redis.Tests, Aspire.Hosting.RemoteHost.Tests, Aspire.Hosting.Rust.Tests, Aspire.Hosting.Seq.Tests, Aspire.Hosting.SqlServer.Tests, Aspire.Hosting.Testing.Tests, Aspire.Hosting.Tests, Aspire.Hosting.Valkey.Tests, Aspire.Hosting.Yarp.Tests, Aspire.Playground.Tests

Selected PR jobs (4)

cli-starter-validation, extension-e2e, polyglot, typescript-api-compat

Advisory workflow impact (2)

  • Aspire.EndToEnd.Tests (outerloop-only)
  • deployment-e2e (schedule/dispatch-only)

How these were chosen — grouped by what changed

⚠️ 37 of the 50 selected test projects come from a single change — src/Aspire.Hosting/api/Aspire.Hosting.ats.txt.

🔧 src/Aspire.Hosting/api/Aspire.Hosting.ats.txt (changed source)
37 via the project graph

show 37

Aspire.Hosting.Analyzers.Tests (2 hops), Aspire.Hosting.Azure.Kusto.Tests (2 hops), Aspire.Hosting.Browsers.Tests (2 hops), Aspire.Hosting.CodeGeneration.Go.Tests, Aspire.Hosting.CodeGeneration.Java.Tests, Aspire.Hosting.CodeGeneration.Python.Tests, Aspire.Hosting.CodeGeneration.Rust.Tests, Aspire.Hosting.Containers.Tests (2 hops), Aspire.Hosting.DevTunnels.Tests (2 hops), Aspire.Hosting.DotnetTool.Tests (2 hops), Aspire.Hosting.EntityFrameworkCore.Tests (2 hops), Aspire.Hosting.Garnet.Tests (2 hops), Aspire.Hosting.GitHub.Models.Tests (2 hops), Aspire.Hosting.Go.Tests (2 hops), Aspire.Hosting.Java.Tests (2 hops), Aspire.Hosting.Kafka.Tests (2 hops), Aspire.Hosting.Keycloak.Tests (2 hops), Aspire.Hosting.Maui.Tests, Aspire.Hosting.Milvus.Tests (2 hops), Aspire.Hosting.MongoDB.Tests (2 hops), Aspire.Hosting.MySql.Tests (2 hops), Aspire.Hosting.Nats.Tests (2 hops), Aspire.Hosting.OpenAI.Tests (2 hops), Aspire.Hosting.Oracle.Tests (2 hops), Aspire.Hosting.Orleans.Tests (2 hops), Aspire.Hosting.PostgreSQL.Tests (2 hops), Aspire.Hosting.Python.Tests (2 hops), Aspire.Hosting.Qdrant.Tests (2 hops), Aspire.Hosting.RabbitMQ.Tests (2 hops), Aspire.Hosting.Redis.Tests (2 hops), Aspire.Hosting.RemoteHost.Tests, Aspire.Hosting.Rust.Tests (2 hops), Aspire.Hosting.Seq.Tests (2 hops), Aspire.Hosting.SqlServer.Tests (2 hops), Aspire.Hosting.Testing.Tests (2 hops), Aspire.Hosting.Valkey.Tests (2 hops), Aspire.Hosting.Yarp.Tests (2 hops)

🔧 src/Aspire.Hosting.JavaScript/api/Aspire.Hosting.JavaScript.ats.txt (changed source)
1 directly: Aspire.Hosting.JavaScript.Tests
4 via the project graph: Aspire.Hosting.CodeGeneration.TypeScript.Tests, Aspire.Hosting.Dotnet.Tests (2 hops), Aspire.Hosting.Radius.Tests (2 hops), Aspire.Hosting.Tests

🔧 src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt (changed source)
1 directly: Aspire.Hosting.Azure.Tests
1 via the project graph: Aspire.Hosting.Azure.Kubernetes.Tests (2 hops)

🔧 src/Aspire.Hosting.Blazor/api/Aspire.Hosting.Blazor.ats.txt (changed source)
1 directly: Aspire.Hosting.Blazor.Tests
1 via the project graph: Aspire.Playground.Tests

🔧 src/Aspire.Hosting.Kubernetes/api/Aspire.Hosting.Kubernetes.ats.txt (changed source)
1 directly: Aspire.Hosting.Kubernetes.Tests
1 via the project graph: Aspire.Hosting.Docker.Tests

📦 affected project Aspire.Hosting
1 test: Aspire.EndToEnd.Tests

🔧 src/Aspire.Hosting.Azure.CosmosDB/api/Aspire.Hosting.Azure.CosmosDB.ats.txt (changed source)
1 directly: Aspire.Hosting.Azure.Tests

🔧 src/Aspire.Hosting.Azure.Sandboxes/api/Aspire.Hosting.Azure.Sandboxes.ats.txt (changed source)
1 directly: Aspire.Hosting.Azure.Tests

🔧 src/Aspire.Hosting.Foundry/api/Aspire.Hosting.Foundry.ats.txt (changed source)
1 directly: Aspire.Hosting.Foundry.Tests

Job reasons

Job Triggered by
cli-starter-validation affected project Aspire.Hosting.JavaScript
deployment-e2e affected project Aspire.Hosting.Azure.ConnectorNamespace
extension-e2e src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt, src/Aspire.Hosting.Azure.CosmosDB/api/Aspire.Hosting.Azure.CosmosDB.ats.txt, src/Aspire.Hosting.Azure.Sandboxes/api/Aspire.Hosting.Azure.Sandboxes.ats.txt, src/Aspire.Hosting.Blazor/api/Aspire.Hosting.Blazor.ats.txt, src/Aspire.Hosting.Foundry/api/Aspire.Hosting.Foundry.ats.txt, src/Aspire.Hosting.JavaScript/api/Aspire.Hosting.JavaScript.ats.txt, src/Aspire.Hosting.Kubernetes/api/Aspire.Hosting.Kubernetes.ats.txt, src/Aspire.Hosting/api/Aspire.Hosting.ats.txt
• affected project Aspire.Hosting.Azure.ConnectorNamespace
polyglot src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt, src/Aspire.Hosting.Azure.CosmosDB/api/Aspire.Hosting.Azure.CosmosDB.ats.txt, src/Aspire.Hosting.Azure.Sandboxes/api/Aspire.Hosting.Azure.Sandboxes.ats.txt, src/Aspire.Hosting.Blazor/api/Aspire.Hosting.Blazor.ats.txt, src/Aspire.Hosting.Foundry/api/Aspire.Hosting.Foundry.ats.txt, src/Aspire.Hosting.JavaScript/api/Aspire.Hosting.JavaScript.ats.txt, src/Aspire.Hosting.Kubernetes/api/Aspire.Hosting.Kubernetes.ats.txt, src/Aspire.Hosting/api/Aspire.Hosting.ats.txt
• affected project Aspire.Hosting.JavaScript
typescript-api-compat src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt, src/Aspire.Hosting.Azure.CosmosDB/api/Aspire.Hosting.Azure.CosmosDB.ats.txt, src/Aspire.Hosting.Azure.Sandboxes/api/Aspire.Hosting.Azure.Sandboxes.ats.txt, src/Aspire.Hosting.Blazor/api/Aspire.Hosting.Blazor.ats.txt, src/Aspire.Hosting.Foundry/api/Aspire.Hosting.Foundry.ats.txt, src/Aspire.Hosting.JavaScript/api/Aspire.Hosting.JavaScript.ats.txt, src/Aspire.Hosting.Kubernetes/api/Aspire.Hosting.Kubernetes.ats.txt, src/Aspire.Hosting/api/Aspire.Hosting.ats.txt
• affected project Aspire.Hosting.Azure.ConnectorNamespace

Selection computed for commit 72c4db3.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Regenerate the Connector Namespace ATS surface so nullable PolicyName properties are optional.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Refreshes generated ATS capability baselines for the next Aspire release.

Changes:

  • Adds hosting, Deno, Blazor, Kubernetes, and Azure capabilities.
  • Updates Foundry model metadata.
  • Adds the Connector Namespace ATS surface.
File summaries
File Description
src/Aspire.Hosting/api/Aspire.Hosting.ats.txt Adds project and executable volume capabilities.
src/Aspire.Hosting.Kubernetes/api/Aspire.Hosting.Kubernetes.ats.txt Adds environment-variable support to volume mounts.
src/Aspire.Hosting.JavaScript/api/Aspire.Hosting.JavaScript.ats.txt Adds experimental Deno resources and capabilities.
src/Aspire.Hosting.Foundry/api/Aspire.Hosting.Foundry.ats.txt Updates preview model metadata.
src/Aspire.Hosting.Blazor/api/Aspire.Hosting.Blazor.ats.txt Adds experimental .NET project gateway capabilities.
src/Aspire.Hosting.Azure.Sandboxes/api/Aspire.Hosting.Azure.Sandboxes.ats.txt Adds ACR pull identity configuration.
src/Aspire.Hosting.Azure.CosmosDB/api/Aspire.Hosting.Azure.CosmosDB.ats.txt Adds classic emulator configuration.
src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt Adds the preview Connector Namespace surface; PolicyName nullability requires correction.
Review details

Suppressed comments (4)

src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt:16

  • Both properties are nullable in AzureConnectorNamespaceConnectionOptions, but the ATS surface makes them required. This contradicts the optional options parameter and the documented fallback for ConnectionName, and forces polyglot callers to populate values that C# callers may omit. Emit both properties with ? and regenerate this surface.
  ConnectionName: string # Gets or sets the Azure child resource name. The Aspire resource name is used when omitted.
  DisplayName: string # Gets or sets the friendly connection name shown in the Connector Namespace portal.

src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt:27

  • Description and DisplayName are nullable in AzureConnectorNamespaceMcpOperationOptions, yet this ATS contract exposes them as required. Generated SDKs will reject otherwise valid operations containing only the required Name. Emit both properties with ? and regenerate the surface.
  Description: string # Gets or sets the operation description shown to MCP clients.
  DisplayName: string # Gets or sets the friendly operation name shown to MCP clients.

src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt:31

  • Both fields are nullable in AzureConnectorNamespaceMcpServerConfigOptions, but the ATS file makes them mandatory. This prevents generated SDK callers from using the documented default config name or omitting the description. Emit ConfigName?: string and Description?: string, then regenerate the surface.
  ConfigName: string # Gets or sets the Azure child resource name. The Aspire resource name is used when omitted.
  Description: string # Gets or sets the description shown to MCP clients.

src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt:23

  • Description and DisplayName are nullable in AzureConnectorNamespaceMcpConnectorOptions, but this generated contract requires both. Polyglot SDK users cannot express the source API's valid omitted-value behavior. Emit these as optional properties and regenerate the surface.
  Description: string # Gets or sets the connector description shown to MCP clients.
  DisplayName: string # Gets or sets the friendly connector name shown to MCP clients.
  • Files reviewed: 8/8 changed files
  • Comments generated: 1
  • Review effort level: Balanced

# DTO Types
Aspire.Hosting.Azure.ConnectorNamespace/Aspire.Hosting.Azure.AzureConnectorNamespaceAccessPolicyOptions # Configures a Microsoft Entra access policy for a Connector Namespace connection.
ObjectId: string # Gets or sets the Microsoft Entra object ID authorized to use the connection.
PolicyName: string # Gets or sets the Azure child resource name. The Aspire resource name is used when omitted.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot AI review requested due to automatic review settings September 5, 2026 16:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Correct the nullable DisplayName DTO projection and regenerate the Connector Namespace surface.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details

Suppressed comments (3)

src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt:23

  • This DisplayName is nullable in AzureConnectorNamespaceMcpConnectorOptions, but the generated DTO makes it mandatory. That changes the source contract for polyglot callers; preserve the optional property when regenerating the ATS surface.
  DisplayName: string # Gets or sets the friendly connector name shown to MCP clients.

src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt:27

  • AzureConnectorNamespaceMcpOperationOptions.DisplayName is nullable in the source DTO, while this entry requires it. Generated SDK users should be able to omit the friendly name, so this needs to be emitted as an optional property.
  DisplayName: string # Gets or sets the friendly operation name shown to MCP clients.

src/Aspire.Hosting.Azure.ConnectorNamespace/api/Aspire.Hosting.Azure.ConnectorNamespace.ats.txt:31

  • AzureConnectorNamespaceMcpServerConfigOptions.Description is nullable in source, but this surface requires it. Fix the nullable DTO projection so polyglot callers can omit the description, then regenerate the ATS file.
  Description: string # Gets or sets the description shown to MCP clients.
  • Files reviewed: 9/9 changed files
  • Comments generated: 1
  • Review effort level: Balanced

TenantId: string # Gets or sets the Microsoft Entra tenant ID for `ObjectId`.
Aspire.Hosting.Azure.ConnectorNamespace/Aspire.Hosting.Azure.AzureConnectorNamespaceConnectionOptions # Configures a Connector Namespace connection.
ConnectionName: string # Gets or sets the Azure child resource name. The Aspire resource name is used when omitted.
DisplayName: string # Gets or sets the friendly connection name shown in the Connector Namespace portal.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants