[Automated] Update ATS API Surface Area - #19936
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 19936Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 19936" |
Tests selector49 / 99 PR test projects · 4 PR jobs · 2 advisory-only targets, from 8 changed files. Selected PR test projects (49 / 99)
Selected PR jobs (4)
Advisory workflow impact (2)
How these were chosen — grouped by what changed
🔧 show 37
🔧 🔧 🔧 🔧 📦 affected project 🔧 🔧 🔧 Job reasons
Selection computed for commit |
There was a problem hiding this comment.
🟡 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 optionaloptionsparameter and the documented fallback forConnectionName, 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
DescriptionandDisplayNameare nullable inAzureConnectorNamespaceMcpOperationOptions, yet this ATS contract exposes them as required. Generated SDKs will reject otherwise valid operations containing only the requiredName. 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. EmitConfigName?: stringandDescription?: 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
DescriptionandDisplayNameare nullable inAzureConnectorNamespaceMcpConnectorOptions, 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. |
There was a problem hiding this comment.
72c4db3 to
faa448d
Compare
There was a problem hiding this comment.
🟡 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
DisplayNameis nullable inAzureConnectorNamespaceMcpConnectorOptions, 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.DisplayNameis 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.Descriptionis 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. |
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.