From 520e020247befdef3254da9605f7f05724b0cbfb Mon Sep 17 00:00:00 2001 From: "aspire-repo-bot[bot]" Date: Tue, 29 Sep 2026 21:40:52 +0000 Subject: [PATCH] chore: Update integration data and GitHub stats (9/29/26) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../src/data/aspire-integrations.json | 816 +- src/frontend/src/data/github-stats.json | 8 +- ...I.Inference.13.6.0-preview.1.26479.8.json} | 56 +- ...e.AI.OpenAI.13.6.0-preview.1.26479.8.json} | 4 +- ...n => Aspire.Azure.Data.Tables.13.6.0.json} | 4 +- ...ire.Azure.Messaging.EventHubs.13.6.0.json} | 4 +- ...re.Azure.Messaging.ServiceBus.13.6.0.json} | 4 +- ...ire.Azure.Messaging.WebPubSub.13.6.0.json} | 4 +- ...4.json => Aspire.Azure.Npgsql.13.6.0.json} | 4 +- ...ntityFrameworkCore.PostgreSQL.13.6.0.json} | 4 +- ...Aspire.Azure.Search.Documents.13.6.0.json} | 4 +- ...spire.Azure.Security.KeyVault.13.6.0.json} | 4 +- ...=> Aspire.Azure.Storage.Blobs.13.6.0.json} | 4 +- ...es.DataLake.13.6.0-preview.1.26479.8.json} | 4 +- ...> Aspire.Azure.Storage.Queues.13.6.0.json} | 4 +- ...son => Aspire.Confluent.Kafka.13.6.0.json} | 4 +- ...13.5.4.json => Aspire.Hosting.13.6.0.json} | 10458 +++++++- ...mework.DevUI.1.23.0-preview.260928.1.json} | 13 +- ....json => Aspire.Hosting.Azure.13.6.0.json} | 136 +- ...osting.Azure.AppConfiguration.13.6.0.json} | 14 +- ...e.Hosting.Azure.AppContainers.13.6.0.json} | 120 +- ...pire.Hosting.Azure.AppService.13.6.0.json} | 24 +- ...ing.Azure.ApplicationInsights.13.6.0.json} | 4 +- ...sting.Azure.CognitiveServices.13.6.0.json} | 4 +- ...sting.Azure.ContainerRegistry.13.6.0.json} | 4 +- ...Aspire.Hosting.Azure.CosmosDB.13.6.0.json} | 145 +- ...spire.Hosting.Azure.EventHubs.13.6.0.json} | 4 +- ...e.FrontDoor.13.6.0-preview.1.26479.8.json} | 8 +- ...spire.Hosting.Azure.Functions.13.6.0.json} | 4 +- ...Aspire.Hosting.Azure.KeyVault.13.6.0.json} | 4 +- ....Kubernetes.13.6.0-preview.1.26479.8.json} | 23 +- ...Azure.Kusto.13.6.0-preview.1.26479.8.json} | 4 +- ... Aspire.Hosting.Azure.Network.13.6.0.json} | 4 +- ...ing.Azure.OperationalInsights.13.6.0.json} | 4 +- ...pire.Hosting.Azure.PostgreSQL.13.6.0.json} | 4 +- ...Provisioning.13.6.0-preview.1.26479.8.json | 279 + ...=> Aspire.Hosting.Azure.Redis.13.6.0.json} | 4 +- ...> Aspire.Hosting.Azure.Search.13.6.0.json} | 4 +- ...pire.Hosting.Azure.ServiceBus.13.6.0.json} | 4 +- ... Aspire.Hosting.Azure.SignalR.13.6.0.json} | 4 +- ...n => Aspire.Hosting.Azure.Sql.13.6.0.json} | 4 +- ... Aspire.Hosting.Azure.Storage.13.6.0.json} | 42 +- ...spire.Hosting.Azure.WebPubSub.13.6.0.json} | 4 +- ...ting.Blazor.13.6.0-preview.1.26479.8.json} | 565 +- ...ng.Browsers.13.6.0-preview.1.26479.8.json} | 4 +- ... => Aspire.Hosting.DevTunnels.13.6.0.json} | 175 +- ...json => Aspire.Hosting.Docker.13.6.0.json} | 11 +- ...=> Aspire.Hosting.DocumentDB.0.117.0.json} | 71 +- ...sting.Dotnet.13.5.4-preview.1.26464.4.json | 474 - ...sting.Dotnet.13.6.0-preview.1.26479.8.json | 990 + ...ameworkCore.13.6.0-preview.1.26479.8.json} | 467 +- ...ing.Foundry.13.6.0-preview.1.26479.8.json} | 22401 ++++++++-------- ...json => Aspire.Hosting.Garnet.13.6.0.json} | 4 +- ....Hosting.Go.13.6.0-preview.1.26479.8.json} | 4 +- ... => Aspire.Hosting.JavaScript.13.6.0.json} | 2949 +- ....json => Aspire.Hosting.Kafka.13.6.0.json} | 4 +- ...ng.Keycloak.13.6.0-preview.1.26479.8.json} | 4 +- ....Kubernetes.13.6.0-preview.1.26479.8.json} | 519 +- ...osting.Maui.13.6.0-preview.1.26479.8.json} | 8 +- ...json => Aspire.Hosting.Milvus.13.6.0.json} | 4 +- .../pkgs/Aspire.Hosting.MongoDB.13.5.4.json | 1438 - .../pkgs/Aspire.Hosting.MongoDB.13.6.0.json | 2888 ++ ....json => Aspire.Hosting.MySql.13.6.0.json} | 98 +- ...4.json => Aspire.Hosting.Nats.13.6.0.json} | 4 +- ...json => Aspire.Hosting.OpenAI.13.6.0.json} | 4 +- ...json => Aspire.Hosting.Oracle.13.6.0.json} | 4 +- ...son => Aspire.Hosting.Orleans.13.6.0.json} | 4 +- ... => Aspire.Hosting.PostgreSQL.13.6.0.json} | 102 +- ...json => Aspire.Hosting.Python.13.6.0.json} | 4 +- ...json => Aspire.Hosting.Qdrant.13.6.0.json} | 42 +- ...on => Aspire.Hosting.RabbitMQ.13.6.0.json} | 4 +- ...sting.Radius.13.5.4-preview.1.26464.4.json | 3682 --- ...sting.Radius.13.6.0-preview.1.26479.8.json | 7808 ++++++ ....json => Aspire.Hosting.Redis.13.6.0.json} | 100 +- ....4.json => Aspire.Hosting.Seq.13.6.0.json} | 4 +- ...n => Aspire.Hosting.SqlServer.13.6.0.json} | 98 +- ...json => Aspire.Hosting.Valkey.13.6.0.json} | 88 +- ...4.json => Aspire.Hosting.Yarp.13.6.0.json} | 4 +- ...hentication.13.6.0-preview.1.26479.8.json} | 4 +- ...Aspire.Microsoft.Azure.Cosmos.13.6.0.json} | 50 +- ...soft.Azure.StackExchangeRedis.13.6.0.json} | 4 +- ...pire.Microsoft.Data.SqlClient.13.6.0.json} | 4 +- ...ft.EntityFrameworkCore.Cosmos.13.6.0.json} | 4 +- ...EntityFrameworkCore.SqlServer.13.6.0.json} | 4 +- ...uration.AzureAppConfiguration.13.6.0.json} | 4 +- ...lvus.Client.13.6.0-preview.1.26479.8.json} | 4 +- ...json => Aspire.MongoDB.Driver.13.6.0.json} | 4 +- ...n => Aspire.MongoDB.Driver.v2.13.6.0.json} | 4 +- ...e.MongoDB.EntityFrameworkCore.13.6.0.json} | 4 +- ...json => Aspire.MySqlConnector.13.6.0.json} | 4 +- ...3.5.4.json => Aspire.NATS.Net.13.6.0.json} | 4 +- ....13.5.4.json => Aspire.Npgsql.13.6.0.json} | 4 +- ...ntityFrameworkCore.PostgreSQL.13.6.0.json} | 4 +- ...pire.OpenAI.13.6.0-preview.1.26479.8.json} | 4 +- ...re.Oracle.EntityFrameworkCore.13.6.0.json} | 4 +- ...elo.EntityFrameworkCore.MySql.13.6.0.json} | 4 +- ....json => Aspire.Qdrant.Client.13.6.0.json} | 4 +- ...son => Aspire.RabbitMQ.Client.13.6.0.json} | 4 +- ... => Aspire.RabbitMQ.Client.v6.13.6.0.json} | 4 +- ...Seq.13.5.4.json => Aspire.Seq.13.6.0.json} | 4 +- ...=> Aspire.StackExchange.Redis.13.6.0.json} | 4 +- ...ange.Redis.DistributedCaching.13.6.0.json} | 4 +- ...kExchange.Redis.OutputCaching.13.6.0.json} | 4 +- ...5.4.json => Aspire.TypeSystem.13.6.0.json} | 958 +- ....Keycloak.Extensions.13.5.1-beta.895.json} | 4 +- ....Aspire.Hosting.Kind.13.5.1-beta.895.json} | 50 +- ...13.5.4.json => Aspire.Hosting.13.6.0.json} | 211 +- ....json => Aspire.Hosting.Azure.13.6.0.json} | 4 +- ...osting.Azure.AppConfiguration.13.6.0.json} | 4 +- ...e.Hosting.Azure.AppContainers.13.6.0.json} | 43 +- ...pire.Hosting.Azure.AppService.13.6.0.json} | 4 +- ...ing.Azure.ApplicationInsights.13.6.0.json} | 4 +- ...sting.Azure.CognitiveServices.13.6.0.json} | 4 +- ...sting.Azure.ContainerRegistry.13.6.0.json} | 4 +- ...Aspire.Hosting.Azure.CosmosDB.13.6.0.json} | 74 +- ...spire.Hosting.Azure.EventHubs.13.6.0.json} | 4 +- ...e.FrontDoor.13.6.0-preview.1.26479.8.json} | 4 +- ...spire.Hosting.Azure.Functions.13.6.0.json} | 5 +- ...Aspire.Hosting.Azure.KeyVault.13.6.0.json} | 4 +- ....Kubernetes.13.6.0-preview.1.26479.8.json} | 5 +- ...Azure.Kusto.13.6.0-preview.1.26479.8.json} | 4 +- ... Aspire.Hosting.Azure.Network.13.6.0.json} | 4 +- ...ing.Azure.OperationalInsights.13.6.0.json} | 4 +- ...pire.Hosting.Azure.PostgreSQL.13.6.0.json} | 4 +- ...Provisioning.13.6.0-preview.1.26479.8.json | 2058 ++ ...=> Aspire.Hosting.Azure.Redis.13.6.0.json} | 4 +- ...> Aspire.Hosting.Azure.Search.13.6.0.json} | 4 +- ...pire.Hosting.Azure.ServiceBus.13.6.0.json} | 4 +- ... Aspire.Hosting.Azure.SignalR.13.6.0.json} | 4 +- ...n => Aspire.Hosting.Azure.Sql.13.6.0.json} | 4 +- ... Aspire.Hosting.Azure.Storage.13.6.0.json} | 4 +- ...spire.Hosting.Azure.WebPubSub.13.6.0.json} | 4 +- ...sting.Blazor.13.5.4-preview.1.26464.4.json | 117 - ...sting.Blazor.13.6.0-preview.1.26479.8.json | 229 + ...ng.Browsers.13.6.0-preview.1.26479.8.json} | 4 +- ... => Aspire.Hosting.DevTunnels.13.6.0.json} | 50 +- ...json => Aspire.Hosting.Docker.13.6.0.json} | 5 +- ...sting.Dotnet.13.5.4-preview.1.26464.4.json | 67 - ...sting.Dotnet.13.6.0-preview.1.26479.8.json | 263 + ...ameworkCore.13.6.0-preview.1.26479.8.json} | 44 +- ...ing.Foundry.13.6.0-preview.1.26479.8.json} | 637 +- ...json => Aspire.Hosting.Garnet.13.6.0.json} | 4 +- ....Hosting.Go.13.6.0-preview.1.26479.8.json} | 4 +- ... => Aspire.Hosting.JavaScript.13.6.0.json} | 1008 +- ....json => Aspire.Hosting.Kafka.13.6.0.json} | 4 +- ...ng.Keycloak.13.6.0-preview.1.26479.8.json} | 4 +- ....Kubernetes.13.6.0-preview.1.26479.8.json} | 42 +- ...osting.Maui.13.6.0-preview.1.26479.8.json} | 10 +- ...json => Aspire.Hosting.Milvus.13.6.0.json} | 4 +- .../Aspire.Hosting.MongoDB.13.5.4.json | 823 - .../Aspire.Hosting.MongoDB.13.6.0.json | 1557 ++ ....json => Aspire.Hosting.MySql.13.6.0.json} | 38 +- ...4.json => Aspire.Hosting.Nats.13.6.0.json} | 4 +- ...json => Aspire.Hosting.OpenAI.13.6.0.json} | 4 +- ...json => Aspire.Hosting.Oracle.13.6.0.json} | 4 +- ...son => Aspire.Hosting.Orleans.13.6.0.json} | 4 +- ... => Aspire.Hosting.PostgreSQL.13.6.0.json} | 38 +- ...json => Aspire.Hosting.Python.13.6.0.json} | 4 +- ...json => Aspire.Hosting.Qdrant.13.6.0.json} | 4 +- ...on => Aspire.Hosting.RabbitMQ.13.6.0.json} | 4 +- ...ting.Radius.13.6.0-preview.1.26479.8.json} | 6 +- ....json => Aspire.Hosting.Redis.13.6.0.json} | 38 +- ....4.json => Aspire.Hosting.Seq.13.6.0.json} | 4 +- ...n => Aspire.Hosting.SqlServer.13.6.0.json} | 38 +- ...json => Aspire.Hosting.Valkey.13.6.0.json} | 38 +- ...4.json => Aspire.Hosting.Yarp.13.6.0.json} | 4 +- ....Keycloak.Extensions.13.5.1-beta.895.json} | 4 +- ....Aspire.Hosting.Kind.13.5.1-beta.895.json} | 4 +- src/frontend/src/data/twoslash/aspire.d.ts | 1185 +- 169 files changed, 47706 insertions(+), 19517 deletions(-) rename src/frontend/src/data/pkgs/{Aspire.Azure.AI.Inference.13.5.4-preview.1.26464.4.json => Aspire.Azure.AI.Inference.13.6.0-preview.1.26479.8.json} (98%) rename src/frontend/src/data/pkgs/{Aspire.Azure.AI.OpenAI.13.5.4-preview.1.26464.4.json => Aspire.Azure.AI.OpenAI.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Data.Tables.13.5.4.json => Aspire.Azure.Data.Tables.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Messaging.EventHubs.13.5.4.json => Aspire.Azure.Messaging.EventHubs.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Messaging.ServiceBus.13.5.4.json => Aspire.Azure.Messaging.ServiceBus.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Messaging.WebPubSub.13.5.4.json => Aspire.Azure.Messaging.WebPubSub.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Npgsql.13.5.4.json => Aspire.Azure.Npgsql.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.13.5.4.json => Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Search.Documents.13.5.4.json => Aspire.Azure.Search.Documents.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Security.KeyVault.13.5.4.json => Aspire.Azure.Security.KeyVault.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Storage.Blobs.13.5.4.json => Aspire.Azure.Storage.Blobs.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Storage.Files.DataLake.13.5.4-preview.1.26464.4.json => Aspire.Azure.Storage.Files.DataLake.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Azure.Storage.Queues.13.5.4.json => Aspire.Azure.Storage.Queues.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Confluent.Kafka.13.5.4.json => Aspire.Confluent.Kafka.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.13.5.4.json => Aspire.Hosting.13.6.0.json} (91%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.AgentFramework.DevUI.1.22.0-preview.260918.1.json => Aspire.Hosting.AgentFramework.DevUI.1.23.0-preview.260928.1.json} (98%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.13.5.4.json => Aspire.Hosting.Azure.13.6.0.json} (98%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.AppConfiguration.13.5.4.json => Aspire.Hosting.Azure.AppConfiguration.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.AppContainers.13.5.4.json => Aspire.Hosting.Azure.AppContainers.13.6.0.json} (95%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.AppService.13.5.4.json => Aspire.Hosting.Azure.AppService.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.ApplicationInsights.13.5.4.json => Aspire.Hosting.Azure.ApplicationInsights.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.CognitiveServices.13.5.4.json => Aspire.Hosting.Azure.CognitiveServices.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.ContainerRegistry.13.5.4.json => Aspire.Hosting.Azure.ContainerRegistry.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.CosmosDB.13.5.4.json => Aspire.Hosting.Azure.CosmosDB.13.6.0.json} (95%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.EventHubs.13.5.4.json => Aspire.Hosting.Azure.EventHubs.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.FrontDoor.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Azure.FrontDoor.13.6.0-preview.1.26479.8.json} (98%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.Functions.13.5.4.json => Aspire.Hosting.Azure.Functions.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.KeyVault.13.5.4.json => Aspire.Hosting.Azure.KeyVault.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.Kubernetes.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Azure.Kubernetes.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.Kusto.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Azure.Kusto.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.Network.13.5.4.json => Aspire.Hosting.Azure.Network.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.OperationalInsights.13.5.4.json => Aspire.Hosting.Azure.OperationalInsights.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.PostgreSQL.13.5.4.json => Aspire.Hosting.Azure.PostgreSQL.13.6.0.json} (99%) create mode 100644 src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Provisioning.13.6.0-preview.1.26479.8.json rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.Redis.13.5.4.json => Aspire.Hosting.Azure.Redis.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.Search.13.5.4.json => Aspire.Hosting.Azure.Search.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.ServiceBus.13.5.4.json => Aspire.Hosting.Azure.ServiceBus.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.SignalR.13.5.4.json => Aspire.Hosting.Azure.SignalR.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.Sql.13.5.4.json => Aspire.Hosting.Azure.Sql.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.Storage.13.5.4.json => Aspire.Hosting.Azure.Storage.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Azure.WebPubSub.13.5.4.json => Aspire.Hosting.Azure.WebPubSub.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Blazor.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Blazor.13.6.0-preview.1.26479.8.json} (63%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Browsers.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Browsers.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.DevTunnels.13.5.4.json => Aspire.Hosting.DevTunnels.13.6.0.json} (90%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Docker.13.5.4.json => Aspire.Hosting.Docker.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.DocumentDB.0.116.0.json => Aspire.Hosting.DocumentDB.0.117.0.json} (98%) delete mode 100644 src/frontend/src/data/pkgs/Aspire.Hosting.Dotnet.13.5.4-preview.1.26464.4.json create mode 100644 src/frontend/src/data/pkgs/Aspire.Hosting.Dotnet.13.6.0-preview.1.26479.8.json rename src/frontend/src/data/pkgs/{Aspire.Hosting.EntityFrameworkCore.13.5.4-preview.1.26464.4.json => Aspire.Hosting.EntityFrameworkCore.13.6.0-preview.1.26479.8.json} (80%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Foundry.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Foundry.13.6.0-preview.1.26479.8.json} (94%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Garnet.13.5.4.json => Aspire.Hosting.Garnet.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Go.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Go.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.JavaScript.13.5.4.json => Aspire.Hosting.JavaScript.13.6.0.json} (59%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Kafka.13.5.4.json => Aspire.Hosting.Kafka.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Keycloak.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Keycloak.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Kubernetes.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Kubernetes.13.6.0-preview.1.26479.8.json} (98%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Maui.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Maui.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Milvus.13.5.4.json => Aspire.Hosting.Milvus.13.6.0.json} (99%) delete mode 100644 src/frontend/src/data/pkgs/Aspire.Hosting.MongoDB.13.5.4.json create mode 100644 src/frontend/src/data/pkgs/Aspire.Hosting.MongoDB.13.6.0.json rename src/frontend/src/data/pkgs/{Aspire.Hosting.MySql.13.5.4.json => Aspire.Hosting.MySql.13.6.0.json} (94%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Nats.13.5.4.json => Aspire.Hosting.Nats.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.OpenAI.13.5.4.json => Aspire.Hosting.OpenAI.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Oracle.13.5.4.json => Aspire.Hosting.Oracle.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Orleans.13.5.4.json => Aspire.Hosting.Orleans.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.PostgreSQL.13.5.4.json => Aspire.Hosting.PostgreSQL.13.6.0.json} (96%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Python.13.5.4.json => Aspire.Hosting.Python.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Qdrant.13.5.4.json => Aspire.Hosting.Qdrant.13.6.0.json} (95%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.RabbitMQ.13.5.4.json => Aspire.Hosting.RabbitMQ.13.6.0.json} (99%) delete mode 100644 src/frontend/src/data/pkgs/Aspire.Hosting.Radius.13.5.4-preview.1.26464.4.json create mode 100644 src/frontend/src/data/pkgs/Aspire.Hosting.Radius.13.6.0-preview.1.26479.8.json rename src/frontend/src/data/pkgs/{Aspire.Hosting.Redis.13.5.4.json => Aspire.Hosting.Redis.13.6.0.json} (95%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Seq.13.5.4.json => Aspire.Hosting.Seq.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.SqlServer.13.5.4.json => Aspire.Hosting.SqlServer.13.6.0.json} (93%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Valkey.13.5.4.json => Aspire.Hosting.Valkey.13.6.0.json} (90%) rename src/frontend/src/data/pkgs/{Aspire.Hosting.Yarp.13.5.4.json => Aspire.Hosting.Yarp.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Keycloak.Authentication.13.5.4-preview.1.26464.4.json => Aspire.Keycloak.Authentication.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Microsoft.Azure.Cosmos.13.5.4.json => Aspire.Microsoft.Azure.Cosmos.13.6.0.json} (96%) rename src/frontend/src/data/pkgs/{Aspire.Microsoft.Azure.StackExchangeRedis.13.5.4.json => Aspire.Microsoft.Azure.StackExchangeRedis.13.6.0.json} (97%) rename src/frontend/src/data/pkgs/{Aspire.Microsoft.Data.SqlClient.13.5.4.json => Aspire.Microsoft.Data.SqlClient.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Microsoft.EntityFrameworkCore.Cosmos.13.5.4.json => Aspire.Microsoft.EntityFrameworkCore.Cosmos.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Microsoft.EntityFrameworkCore.SqlServer.13.5.4.json => Aspire.Microsoft.EntityFrameworkCore.SqlServer.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration.13.5.4.json => Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Milvus.Client.13.5.4-preview.1.26464.4.json => Aspire.Milvus.Client.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.MongoDB.Driver.13.5.4.json => Aspire.MongoDB.Driver.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.MongoDB.Driver.v2.13.5.4.json => Aspire.MongoDB.Driver.v2.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.MongoDB.EntityFrameworkCore.13.5.4.json => Aspire.MongoDB.EntityFrameworkCore.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.MySqlConnector.13.5.4.json => Aspire.MySqlConnector.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.NATS.Net.13.5.4.json => Aspire.NATS.Net.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Npgsql.13.5.4.json => Aspire.Npgsql.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.13.5.4.json => Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.OpenAI.13.5.4-preview.1.26464.4.json => Aspire.OpenAI.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Oracle.EntityFrameworkCore.13.5.4.json => Aspire.Oracle.EntityFrameworkCore.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Pomelo.EntityFrameworkCore.MySql.13.5.4.json => Aspire.Pomelo.EntityFrameworkCore.MySql.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Qdrant.Client.13.5.4.json => Aspire.Qdrant.Client.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.RabbitMQ.Client.13.5.4.json => Aspire.RabbitMQ.Client.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.RabbitMQ.Client.v6.13.5.4.json => Aspire.RabbitMQ.Client.v6.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.Seq.13.5.4.json => Aspire.Seq.13.6.0.json} (98%) rename src/frontend/src/data/pkgs/{Aspire.StackExchange.Redis.13.5.4.json => Aspire.StackExchange.Redis.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.StackExchange.Redis.DistributedCaching.13.5.4.json => Aspire.StackExchange.Redis.DistributedCaching.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.StackExchange.Redis.OutputCaching.13.5.4.json => Aspire.StackExchange.Redis.OutputCaching.13.6.0.json} (99%) rename src/frontend/src/data/pkgs/{Aspire.TypeSystem.13.5.4.json => Aspire.TypeSystem.13.6.0.json} (87%) rename src/frontend/src/data/pkgs/{CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.13.5.1-beta.763.json => CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.13.5.1-beta.895.json} (97%) rename src/frontend/src/data/pkgs/{CommunityToolkit.Aspire.Hosting.Kind.13.5.1-beta.763.json => CommunityToolkit.Aspire.Hosting.Kind.13.5.1-beta.895.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.13.5.4.json => Aspire.Hosting.13.6.0.json} (98%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.13.5.4.json => Aspire.Hosting.Azure.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.AppConfiguration.13.5.4.json => Aspire.Hosting.Azure.AppConfiguration.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.AppContainers.13.5.4.json => Aspire.Hosting.Azure.AppContainers.13.6.0.json} (91%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.AppService.13.5.4.json => Aspire.Hosting.Azure.AppService.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.ApplicationInsights.13.5.4.json => Aspire.Hosting.Azure.ApplicationInsights.13.6.0.json} (98%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.CognitiveServices.13.5.4.json => Aspire.Hosting.Azure.CognitiveServices.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.ContainerRegistry.13.5.4.json => Aspire.Hosting.Azure.ContainerRegistry.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.CosmosDB.13.5.4.json => Aspire.Hosting.Azure.CosmosDB.13.6.0.json} (88%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.EventHubs.13.5.4.json => Aspire.Hosting.Azure.EventHubs.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.FrontDoor.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Azure.FrontDoor.13.6.0-preview.1.26479.8.json} (97%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.Functions.13.5.4.json => Aspire.Hosting.Azure.Functions.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.KeyVault.13.5.4.json => Aspire.Hosting.Azure.KeyVault.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.Kubernetes.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Azure.Kubernetes.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.Kusto.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Azure.Kusto.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.Network.13.5.4.json => Aspire.Hosting.Azure.Network.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.OperationalInsights.13.5.4.json => Aspire.Hosting.Azure.OperationalInsights.13.6.0.json} (95%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.PostgreSQL.13.5.4.json => Aspire.Hosting.Azure.PostgreSQL.13.6.0.json} (99%) create mode 100644 src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Provisioning.13.6.0-preview.1.26479.8.json rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.Redis.13.5.4.json => Aspire.Hosting.Azure.Redis.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.Search.13.5.4.json => Aspire.Hosting.Azure.Search.13.6.0.json} (97%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.ServiceBus.13.5.4.json => Aspire.Hosting.Azure.ServiceBus.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.SignalR.13.5.4.json => Aspire.Hosting.Azure.SignalR.13.6.0.json} (98%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.Sql.13.5.4.json => Aspire.Hosting.Azure.Sql.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.Storage.13.5.4.json => Aspire.Hosting.Azure.Storage.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Azure.WebPubSub.13.5.4.json => Aspire.Hosting.Azure.WebPubSub.13.6.0.json} (99%) delete mode 100644 src/frontend/src/data/ts-modules/Aspire.Hosting.Blazor.13.5.4-preview.1.26464.4.json create mode 100644 src/frontend/src/data/ts-modules/Aspire.Hosting.Blazor.13.6.0-preview.1.26479.8.json rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Browsers.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Browsers.13.6.0-preview.1.26479.8.json} (98%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.DevTunnels.13.5.4.json => Aspire.Hosting.DevTunnels.13.6.0.json} (84%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Docker.13.5.4.json => Aspire.Hosting.Docker.13.6.0.json} (99%) delete mode 100644 src/frontend/src/data/ts-modules/Aspire.Hosting.Dotnet.13.5.4-preview.1.26464.4.json create mode 100644 src/frontend/src/data/ts-modules/Aspire.Hosting.Dotnet.13.6.0-preview.1.26479.8.json rename src/frontend/src/data/ts-modules/{Aspire.Hosting.EntityFrameworkCore.13.5.4-preview.1.26464.4.json => Aspire.Hosting.EntityFrameworkCore.13.6.0-preview.1.26479.8.json} (96%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Foundry.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Foundry.13.6.0-preview.1.26479.8.json} (84%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Garnet.13.5.4.json => Aspire.Hosting.Garnet.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Go.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Go.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.JavaScript.13.5.4.json => Aspire.Hosting.JavaScript.13.6.0.json} (53%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Kafka.13.5.4.json => Aspire.Hosting.Kafka.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Keycloak.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Keycloak.13.6.0-preview.1.26479.8.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Kubernetes.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Kubernetes.13.6.0-preview.1.26479.8.json} (98%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Maui.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Maui.13.6.0-preview.1.26479.8.json} (98%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Milvus.13.5.4.json => Aspire.Hosting.Milvus.13.6.0.json} (99%) delete mode 100644 src/frontend/src/data/ts-modules/Aspire.Hosting.MongoDB.13.5.4.json create mode 100644 src/frontend/src/data/ts-modules/Aspire.Hosting.MongoDB.13.6.0.json rename src/frontend/src/data/ts-modules/{Aspire.Hosting.MySql.13.5.4.json => Aspire.Hosting.MySql.13.6.0.json} (95%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Nats.13.5.4.json => Aspire.Hosting.Nats.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.OpenAI.13.5.4.json => Aspire.Hosting.OpenAI.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Oracle.13.5.4.json => Aspire.Hosting.Oracle.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Orleans.13.5.4.json => Aspire.Hosting.Orleans.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.PostgreSQL.13.5.4.json => Aspire.Hosting.PostgreSQL.13.6.0.json} (96%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Python.13.5.4.json => Aspire.Hosting.Python.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Qdrant.13.5.4.json => Aspire.Hosting.Qdrant.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.RabbitMQ.13.5.4.json => Aspire.Hosting.RabbitMQ.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Radius.13.5.4-preview.1.26464.4.json => Aspire.Hosting.Radius.13.6.0-preview.1.26479.8.json} (95%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Redis.13.5.4.json => Aspire.Hosting.Redis.13.6.0.json} (95%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Seq.13.5.4.json => Aspire.Hosting.Seq.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.SqlServer.13.5.4.json => Aspire.Hosting.SqlServer.13.6.0.json} (94%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Valkey.13.5.4.json => Aspire.Hosting.Valkey.13.6.0.json} (89%) rename src/frontend/src/data/ts-modules/{Aspire.Hosting.Yarp.13.5.4.json => Aspire.Hosting.Yarp.13.6.0.json} (99%) rename src/frontend/src/data/ts-modules/{CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.13.5.1-beta.763.json => CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.13.5.1-beta.895.json} (95%) rename src/frontend/src/data/ts-modules/{CommunityToolkit.Aspire.Hosting.Kind.13.5.1-beta.763.json => CommunityToolkit.Aspire.Hosting.Kind.13.5.1-beta.895.json} (99%) diff --git a/src/frontend/src/data/aspire-integrations.json b/src/frontend/src/data/aspire-integrations.json index 8f11ef4d8..a0f2a008a 100644 --- a/src/frontend/src/data/aspire-integrations.json +++ b/src/frontend/src/data/aspire-integrations.json @@ -2,7 +2,7 @@ { "title": "Aspire.Azure.AI.Inference", "description": "A client for Azure AI Inference SDK that integrates with Aspire, including logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.ai.inference/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.ai.inference/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.AI.Inference", "tags": [ "aspire", @@ -15,13 +15,13 @@ "inference", "ai-search" ], - "downloads": 148236, - "version": "13.5.4-preview.1.26464.4" + "downloads": 155168, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Azure.AI.OpenAI", "description": "A client for Azure OpenAI that integrates with Aspire, including logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.ai.openai/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.ai.openai/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.AI.OpenAI", "tags": [ "aspire", @@ -33,13 +33,13 @@ "ai", "openai" ], - "downloads": 824667, - "version": "13.5.4-preview.1.26464.4" + "downloads": 839649, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Azure.Data.Tables", "description": "A client for Azure Table Storage that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.data.tables/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.data.tables/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Data.Tables", "tags": [ "aspire", @@ -52,13 +52,13 @@ "table", "storage" ], - "downloads": 3998532, - "version": "13.5.4" + "downloads": 4024090, + "version": "13.6.0" }, { "title": "Aspire.Azure.Messaging.EventHubs", "description": "A client for Azure Event Hubs that integrates with Aspire, including logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.eventhubs/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.eventhubs/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Messaging.EventHubs", "tags": [ "aspire", @@ -72,13 +72,13 @@ "messaging", "eventing" ], - "downloads": 773957, - "version": "13.5.4" + "downloads": 794307, + "version": "13.6.0" }, { "title": "Aspire.Azure.Messaging.ServiceBus", "description": "A client for Azure Service Bus that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.servicebus/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.servicebus/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Messaging.ServiceBus", "tags": [ "aspire", @@ -92,13 +92,13 @@ "messaging", "eventing" ], - "downloads": 1935347, - "version": "13.5.4" + "downloads": 1998735, + "version": "13.6.0" }, { "title": "Aspire.Azure.Messaging.WebPubSub", "description": "A service client for Azure Web PubSub that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.webpubsub/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.webpubsub/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Messaging.WebPubSub", "tags": [ "aspire", @@ -112,13 +112,13 @@ "pubsub", "messaging" ], - "downloads": 72167, - "version": "13.5.4" + "downloads": 73825, + "version": "13.6.0" }, { "title": "Aspire.Azure.Npgsql", "description": "A client for Azure Database for PostgreSQL® that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.npgsql/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.npgsql/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Npgsql", "tags": [ "aspire", @@ -134,13 +134,13 @@ "database", "data" ], - "downloads": 166157, - "version": "13.5.4" + "downloads": 174054, + "version": "13.6.0" }, { "title": "Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL", "description": "An Azure Database for PostgreSQL® provider for Entity Framework Core that integrates with Aspire, including connection pooling, health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.npgsql.entityframeworkcore.postgresql/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.npgsql.entityframeworkcore.postgresql/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL", "tags": [ "aspire", @@ -161,13 +161,13 @@ "npgsql", "sql" ], - "downloads": 439485, - "version": "13.5.4" + "downloads": 457215, + "version": "13.6.0" }, { "title": "Aspire.Azure.Search.Documents", "description": "A client for Azure AI Search that integrates with Aspire, including logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.search.documents/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.search.documents/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Search.Documents", "tags": [ "aspire", @@ -180,13 +180,13 @@ "ai", "ai-search" ], - "downloads": 466274, - "version": "13.5.4" + "downloads": 475444, + "version": "13.6.0" }, { "title": "Aspire.Azure.Security.KeyVault", "description": "A client for Azure Key Vault that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.security.keyvault/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.security.keyvault/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Security.KeyVault", "tags": [ "aspire", @@ -199,13 +199,13 @@ "secrets", "security" ], - "downloads": 1670511, - "version": "13.5.4" + "downloads": 1720818, + "version": "13.6.0" }, { "title": "Aspire.Azure.Storage.Blobs", "description": "A client for Azure Blob Storage that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.blobs/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.blobs/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Storage.Blobs", "tags": [ "aspire", @@ -218,13 +218,13 @@ "blobs", "blob" ], - "downloads": 7149584, - "version": "13.5.4" + "downloads": 7309826, + "version": "13.6.0" }, { "title": "Aspire.Azure.Storage.Files.DataLake", "description": "A client for Azure Data Lake Storage that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.files.datalake/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.files.datalake/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Storage.Files.DataLake", "tags": [ "aspire", @@ -237,13 +237,13 @@ "files", "datalake" ], - "downloads": 5897, - "version": "13.5.4-preview.1.26464.4" + "downloads": 5971, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Azure.Storage.Queues", "description": "A client for Azure Queue Storage that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.queues/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.queues/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Storage.Queues", "tags": [ "aspire", @@ -257,13 +257,13 @@ "queues", "messaging" ], - "downloads": 1910337, - "version": "13.5.4" + "downloads": 1937318, + "version": "13.6.0" }, { "title": "Aspire.Confluent.Kafka", "description": "Confluent.Kafka based Kafka generic consumer and producer that integrates with Aspire, including healthchecks and metrics.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.confluent.kafka/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.confluent.kafka/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Confluent.Kafka", "tags": [ "aspire", @@ -275,8 +275,8 @@ "messaging", "eventing" ], - "downloads": 2671354, - "version": "13.5.4" + "downloads": 2686698, + "version": "13.6.0" }, { "title": "Aspire.Elastic.Clients.Elasticsearch", @@ -291,13 +291,13 @@ "cloud", "elasticsearch" ], - "downloads": 79812, + "downloads": 81154, "version": "13.3.0" }, { "title": "Aspire.Hosting", "description": "Core abstractions for the Aspire application model.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting", "tags": [ "aspire", @@ -305,13 +305,13 @@ "orchestration", "polyglot" ], - "downloads": 37687843, - "version": "13.5.4" + "downloads": 39115812, + "version": "13.6.0" }, { "title": "Aspire.Hosting.AgentFramework.DevUI", "description": "Microsoft Agent Framework DevUI support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.agentframework.devui/1.22.0-preview.260918.1/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.agentframework.devui/1.23.0-preview.260928.1/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.AgentFramework.DevUI", "tags": [ "aspire", @@ -322,8 +322,8 @@ "ai", "agents" ], - "downloads": 4826, - "version": "1.22.0-preview.260918.1" + "downloads": 5361, + "version": "1.23.0-preview.260928.1" }, { "title": "Aspire.Hosting.AWS", @@ -336,13 +336,13 @@ "hosting", "aws" ], - "downloads": 824294, + "downloads": 851903, "version": "13.7.2" }, { "title": "Aspire.Hosting.Azure", "description": "Azure resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure", "tags": [ "aspire", @@ -353,13 +353,13 @@ "orchestration", "polyglot" ], - "downloads": 9555074, - "version": "13.5.4" + "downloads": 9944862, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.AppConfiguration", "description": "Azure AppConfiguration resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appconfiguration/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appconfiguration/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.AppConfiguration", "tags": [ "aspire", @@ -370,13 +370,13 @@ "cloud", "polyglot" ], - "downloads": 631848, - "version": "13.5.4" + "downloads": 655477, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.AppContainers", "description": "Azure container apps resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appcontainers/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appcontainers/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.AppContainers", "tags": [ "aspire", @@ -388,13 +388,13 @@ "appcontainers", "polyglot" ], - "downloads": 1318927, - "version": "13.5.4" + "downloads": 1376037, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.ApplicationInsights", "description": "Azure Application Insights resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.applicationinsights/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.applicationinsights/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.ApplicationInsights", "tags": [ "aspire", @@ -407,13 +407,13 @@ "applicationinsights", "polyglot" ], - "downloads": 1021725, - "version": "13.5.4" + "downloads": 1058337, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.AppService", "description": "Azure app service resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appservice/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appservice/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.AppService", "tags": [ "aspire", @@ -424,13 +424,13 @@ "appservice", "polyglot" ], - "downloads": 96546, - "version": "13.5.4" + "downloads": 102418, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.CognitiveServices", "description": "Azure OpenAI resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cognitiveservices/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cognitiveservices/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.CognitiveServices", "tags": [ "aspire", @@ -445,13 +445,13 @@ "cloud", "polyglot" ], - "downloads": 863007, - "version": "13.5.4" + "downloads": 881377, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.ContainerRegistry", "description": "Azure Container Registry resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.containerregistry/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.containerregistry/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.ContainerRegistry", "tags": [ "aspire", @@ -463,13 +463,13 @@ "cloud", "polyglot" ], - "downloads": 1015197, - "version": "13.5.4" + "downloads": 1076023, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.CosmosDB", "description": "Azure Cosmos DB resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cosmosdb/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cosmosdb/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.CosmosDB", "tags": [ "aspire", @@ -483,13 +483,13 @@ "nosql", "polyglot" ], - "downloads": 1710202, - "version": "13.5.4" + "downloads": 1788784, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.EventHubs", "description": "Azure Event Hubs resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.eventhubs/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.eventhubs/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.EventHubs", "tags": [ "aspire", @@ -502,13 +502,13 @@ "cloud", "polyglot" ], - "downloads": 694374, - "version": "13.5.4" + "downloads": 742916, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.FrontDoor", "description": "Azure Front Door resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.frontdoor/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.frontdoor/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.FrontDoor", "tags": [ "aspire", @@ -520,13 +520,13 @@ "cloud", "polyglot" ], - "downloads": 11233, - "version": "13.5.4-preview.1.26464.4" + "downloads": 12083, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Azure.Functions", "description": "Azure Functions resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.functions/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.functions/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Functions", "tags": [ "aspire", @@ -538,13 +538,13 @@ "cloud", "polyglot" ], - "downloads": 1860994, - "version": "13.5.4" + "downloads": 1947523, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.KeyVault", "description": "Azure resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.keyvault/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.keyvault/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.KeyVault", "tags": [ "aspire", @@ -557,13 +557,13 @@ "cloud", "polyglot" ], - "downloads": 3550765, - "version": "13.5.4" + "downloads": 3720323, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.Kubernetes", "description": "Azure Kubernetes Service (AKS) resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kubernetes/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kubernetes/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Kubernetes", "tags": [ "aspire", @@ -574,13 +574,13 @@ "aks", "polyglot" ], - "downloads": 3447, - "version": "13.5.4-preview.1.26464.4" + "downloads": 3589, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Azure.Kusto", "description": "Azure Kusto support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kusto/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kusto/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Kusto", "tags": [ "aspire", @@ -593,13 +593,13 @@ "cloud", "polyglot" ], - "downloads": 10352, - "version": "13.5.4-preview.1.26464.4" + "downloads": 10726, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Azure.Network", "description": "Azure Virtual Network resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.network/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.network/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Network", "tags": [ "aspire", @@ -615,13 +615,13 @@ "cloud", "polyglot" ], - "downloads": 476836, - "version": "13.5.4" + "downloads": 515149, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.OperationalInsights", "description": "Azure Log Analytics resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.operationalinsights/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.operationalinsights/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.OperationalInsights", "tags": [ "aspire", @@ -633,13 +633,13 @@ "cloud", "polyglot" ], - "downloads": 1725666, - "version": "13.5.4" + "downloads": 1793459, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.PostgreSQL", "description": "Azure PostgreSql Flexible Server resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.postgresql/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.postgresql/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.PostgreSQL", "tags": [ "aspire", @@ -652,13 +652,29 @@ "cloud", "polyglot" ], - "downloads": 860472, - "version": "13.5.4" + "downloads": 897373, + "version": "13.6.0" + }, + { + "title": "Aspire.Hosting.Azure.Provisioning", + "description": "Shared Azure Provisioning expression APIs for polyglot Aspire AppHosts.", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.provisioning/13.6.0-preview.1.26479.8/icon", + "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Provisioning", + "tags": [ + "aspire", + "hosting", + "azure", + "provisioning", + "bicep", + "polyglot" + ], + "downloads": 2127, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Azure.Redis", "description": "Azure Redis resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.redis/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.redis/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Redis", "tags": [ "aspire", @@ -671,13 +687,13 @@ "cloud", "polyglot" ], - "downloads": 657966, - "version": "13.5.4" + "downloads": 680435, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.Search", "description": "Azure AI Search resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.search/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.search/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Search", "tags": [ "aspire", @@ -690,13 +706,13 @@ "cloud", "polyglot" ], - "downloads": 325575, - "version": "13.5.4" + "downloads": 337771, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.ServiceBus", "description": "Azure Service Bus resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.servicebus/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.servicebus/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.ServiceBus", "tags": [ "aspire", @@ -709,13 +725,13 @@ "cloud", "polyglot" ], - "downloads": 2637659, - "version": "13.5.4" + "downloads": 2766193, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.SignalR", "description": "Azure SignalR resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.signalr/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.signalr/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.SignalR", "tags": [ "aspire", @@ -727,13 +743,13 @@ "cloud", "polyglot" ], - "downloads": 355045, - "version": "13.5.4" + "downloads": 372850, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.Sql", "description": "Azure SQL Database resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.sql/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.sql/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Sql", "tags": [ "aspire", @@ -746,13 +762,13 @@ "cloud", "polyglot" ], - "downloads": 1003310, - "version": "13.5.4" + "downloads": 1041254, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.Storage", "description": "Azure Storage resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.storage/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.storage/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Storage", "tags": [ "aspire", @@ -766,13 +782,13 @@ "cloud", "polyglot" ], - "downloads": 6710647, - "version": "13.5.4" + "downloads": 7014676, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Azure.WebPubSub", "description": "Azure WebPubSub resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.webpubsub/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.webpubsub/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.WebPubSub", "tags": [ "aspire", @@ -786,13 +802,13 @@ "cloud", "polyglot" ], - "downloads": 39919, - "version": "13.5.4" + "downloads": 40578, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Blazor", "description": "Blazor WebAssembly hosting support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.blazor/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.blazor/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Blazor", "tags": [ "aspire", @@ -803,13 +819,13 @@ "gateway", "polyglot" ], - "downloads": 5620, - "version": "13.5.4-preview.1.26464.4" + "downloads": 6490, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Browsers", "description": "Browser support for Aspire hosting.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.browsers/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.browsers/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Browsers", "tags": [ "aspire", @@ -821,8 +837,8 @@ "diagnostics", "polyglot" ], - "downloads": 175413, - "version": "13.5.4-preview.1.26464.4" + "downloads": 186001, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.ClickHouse", @@ -837,58 +853,58 @@ "database", "data" ], - "downloads": 32595, + "downloads": 35096, "version": "13.5.3" }, { "title": "Aspire.Hosting.CodeGeneration.Go", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.go/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.go/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Go", "tags": [], - "downloads": 11576, - "version": "13.5.4" + "downloads": 12594, + "version": "13.6.0" }, { "title": "Aspire.Hosting.CodeGeneration.Java", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.java/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.java/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Java", "tags": [], - "downloads": 2949, - "version": "13.5.4" + "downloads": 3114, + "version": "13.6.0" }, { "title": "Aspire.Hosting.CodeGeneration.Python", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.python/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.python/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Python", "tags": [], - "downloads": 2933, - "version": "13.5.4" + "downloads": 3073, + "version": "13.6.0" }, { "title": "Aspire.Hosting.CodeGeneration.Rust", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.rust/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.rust/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Rust", "tags": [], - "downloads": 2866, - "version": "13.5.4" + "downloads": 2993, + "version": "13.6.0" }, { "title": "Aspire.Hosting.CodeGeneration.TypeScript", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.typescript/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.typescript/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.TypeScript", "tags": [], - "downloads": 75810, - "version": "13.5.4" + "downloads": 87439, + "version": "13.6.0" }, { "title": "Aspire.Hosting.DevTunnels", "description": "DevTunnels support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.devtunnels/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.devtunnels/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.DevTunnels", "tags": [ "aspire", @@ -896,13 +912,13 @@ "devtunnels", "polyglot" ], - "downloads": 567762, - "version": "13.5.4" + "downloads": 596570, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Docker", "description": "Docker Compose publishing for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.docker/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.docker/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Docker", "tags": [ "aspire", @@ -911,13 +927,13 @@ "docker-compose", "polyglot" ], - "downloads": 748831, - "version": "13.5.4" + "downloads": 791399, + "version": "13.6.0" }, { "title": "Aspire.Hosting.DocumentDB", "description": "DocumentDB support for Aspire. Provides extension methods and resource definitions for an Aspire AppHost to configure a DocumentDB resource.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.documentdb/0.116.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.documentdb/0.117.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.DocumentDB", "tags": [ "aspire", @@ -929,13 +945,13 @@ "azure", "database" ], - "downloads": 1301, - "version": "0.116.0" + "downloads": 1372, + "version": "0.117.0" }, { "title": "Aspire.Hosting.Dotnet", "description": "C# and .NET application support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.dotnet/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.dotnet/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Dotnet", "tags": [ "aspire", @@ -947,8 +963,8 @@ "runtime", "polyglot" ], - "downloads": 2029, - "version": "13.5.4-preview.1.26464.4" + "downloads": 2655, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Elasticsearch", @@ -961,13 +977,13 @@ "hosting", "elasticsearch" ], - "downloads": 447877, + "downloads": 463469, "version": "13.3.0" }, { "title": "Aspire.Hosting.EntityFrameworkCore", "description": "Entity Framework Core migration management support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.entityframeworkcore/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.entityframeworkcore/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.EntityFrameworkCore", "tags": [ "aspire", @@ -980,13 +996,13 @@ "database", "polyglot" ], - "downloads": 35418, - "version": "13.5.4-preview.1.26464.4" + "downloads": 38686, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Foundry", "description": "Microsoft Foundry resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.foundry/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.foundry/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Foundry", "tags": [ "aspire", @@ -1001,13 +1017,13 @@ "cloud", "polyglot" ], - "downloads": 64620, - "version": "13.5.4-preview.1.26464.4" + "downloads": 71667, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Garnet", "description": "Garnet® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.garnet/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.garnet/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Garnet", "tags": [ "aspire", @@ -1018,8 +1034,8 @@ "caching", "polyglot" ], - "downloads": 120986, - "version": "13.5.4" + "downloads": 127311, + "version": "13.6.0" }, { "title": "Aspire.Hosting.GitHub.Models", @@ -1035,13 +1051,13 @@ "ai", "polyglot" ], - "downloads": 31460, + "downloads": 32256, "version": "13.5.4" }, { "title": "Aspire.Hosting.Go", "description": "Go support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.go/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.go/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Go", "tags": [ "aspire", @@ -1053,13 +1069,13 @@ "runtime", "polyglot" ], - "downloads": 9254, - "version": "13.5.4-preview.1.26464.4" + "downloads": 12640, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Integration.Analyzers", "description": "Analyzers for Aspire hosting integration authors.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.integration.analyzers/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.integration.analyzers/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Integration.Analyzers", "tags": [ "aspire", @@ -1067,13 +1083,13 @@ "analyzers", "ats" ], - "downloads": 5150, - "version": "13.5.4-preview.1.26464.4" + "downloads": 5232, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.JavaScript", "description": "JavaScript support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.javascript/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.javascript/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.JavaScript", "tags": [ "aspire", @@ -1086,13 +1102,13 @@ "runtime", "polyglot" ], - "downloads": 4245052, - "version": "13.5.4" + "downloads": 4536461, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Kafka", "description": "Kafka support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kafka/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kafka/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Kafka", "tags": [ "aspire", @@ -1103,13 +1119,13 @@ "eventing", "polyglot" ], - "downloads": 1404567, - "version": "13.5.4" + "downloads": 1469694, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Keycloak", "description": "Keycloak support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.keycloak/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.keycloak/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Keycloak", "tags": [ "aspire", @@ -1121,13 +1137,13 @@ "security", "polyglot" ], - "downloads": 938700, - "version": "13.5.4-preview.1.26464.4" + "downloads": 987563, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Kubernetes", "description": "Kubernetes publishing for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kubernetes/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kubernetes/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Kubernetes", "tags": [ "aspire", @@ -1135,13 +1151,13 @@ "kubernetes", "polyglot" ], - "downloads": 267201, - "version": "13.5.4-preview.1.26464.4" + "downloads": 290409, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Maui", "description": "MAUI integration for Aspire (local dev only)", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.maui/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.maui/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Maui", "tags": [ "aspire", @@ -1149,13 +1165,13 @@ "hosting", "polyglot" ], - "downloads": 43101, - "version": "13.5.4-preview.1.26464.4" + "downloads": 44808, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Milvus", "description": "Milvus vector database support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.milvus/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.milvus/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Milvus", "tags": [ "aspire", @@ -1169,13 +1185,13 @@ "ai-search", "polyglot" ], - "downloads": 15174, - "version": "13.5.4" + "downloads": 15459, + "version": "13.6.0" }, { "title": "Aspire.Hosting.MongoDB", "description": "MongoDB support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mongodb/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mongodb/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.MongoDB", "tags": [ "aspire", @@ -1186,13 +1202,13 @@ "data", "polyglot" ], - "downloads": 1080659, - "version": "13.5.4" + "downloads": 1124761, + "version": "13.6.0" }, { "title": "Aspire.Hosting.MySql", "description": "MySQL support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mysql/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mysql/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.MySql", "tags": [ "aspire", @@ -1203,13 +1219,13 @@ "data", "polyglot" ], - "downloads": 403711, - "version": "13.5.4" + "downloads": 423102, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Nats", "description": "NATS support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.nats/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.nats/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Nats", "tags": [ "aspire", @@ -1220,13 +1236,13 @@ "eventing", "polyglot" ], - "downloads": 254038, - "version": "13.5.4" + "downloads": 270727, + "version": "13.6.0" }, { "title": "Aspire.Hosting.OpenAI", "description": "OpenAI resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.openai/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.openai/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.OpenAI", "tags": [ "aspire", @@ -1236,13 +1252,13 @@ "ai", "polyglot" ], - "downloads": 48829, - "version": "13.5.4" + "downloads": 50592, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Oracle", "description": "Oracle Database support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.oracle/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.oracle/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Oracle", "tags": [ "aspire", @@ -1254,13 +1270,13 @@ "data", "polyglot" ], - "downloads": 102942, - "version": "13.5.4" + "downloads": 106640, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Orleans", "description": "Orleans support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.orleans/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.orleans/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Orleans", "tags": [ "aspire", @@ -1271,13 +1287,13 @@ "eventing", "polyglot" ], - "downloads": 386386, - "version": "13.5.4" + "downloads": 398343, + "version": "13.6.0" }, { "title": "Aspire.Hosting.PostgreSQL", "description": "PostgreSQL® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.postgresql/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.postgresql/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.PostgreSQL", "tags": [ "aspire", @@ -1291,13 +1307,13 @@ "data", "polyglot" ], - "downloads": 8317346, - "version": "13.5.4" + "downloads": 8699989, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Python", "description": "Python support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.python/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.python/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Python", "tags": [ "aspire", @@ -1308,13 +1324,13 @@ "runtime", "polyglot" ], - "downloads": 396911, - "version": "13.5.4" + "downloads": 417791, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Qdrant", "description": "Qdrant vector database support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.qdrant/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.qdrant/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Qdrant", "tags": [ "aspire", @@ -1327,13 +1343,13 @@ "data", "polyglot" ], - "downloads": 153411, - "version": "13.5.4" + "downloads": 156588, + "version": "13.6.0" }, { "title": "Aspire.Hosting.RabbitMQ", "description": "RabbitMQ support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.rabbitmq/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.rabbitmq/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.RabbitMQ", "tags": [ "aspire", @@ -1344,13 +1360,13 @@ "eventing", "polyglot" ], - "downloads": 3368851, - "version": "13.5.4" + "downloads": 3516609, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Radius", "description": "Provides extensions and resource definitions for an Aspire AppHost to publish and deploy applications to a Radius (radapp.io) compute environment.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.radius/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.radius/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Radius", "tags": [ "aspire", @@ -1361,13 +1377,13 @@ "deployment", "polyglot" ], - "downloads": 342, - "version": "13.5.4-preview.1.26464.4" + "downloads": 369, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Hosting.Redis", "description": "Redis® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.redis/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.redis/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Redis", "tags": [ "aspire", @@ -1378,13 +1394,13 @@ "caching", "polyglot" ], - "downloads": 8133824, - "version": "13.5.4" + "downloads": 8477693, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Seq", "description": "Seq support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.seq/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.seq/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Seq", "tags": [ "aspire", @@ -1395,13 +1411,13 @@ "logging", "polyglot" ], - "downloads": 578718, - "version": "13.5.4" + "downloads": 598665, + "version": "13.6.0" }, { "title": "Aspire.Hosting.SqlServer", "description": "Microsoft SQL Server support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.sqlserver/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.sqlserver/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.SqlServer", "tags": [ "aspire", @@ -1413,13 +1429,13 @@ "data", "polyglot" ], - "downloads": 8143819, - "version": "13.5.4" + "downloads": 8468259, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Valkey", "description": "Valkey® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.valkey/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.valkey/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Valkey", "tags": [ "aspire", @@ -1430,13 +1446,13 @@ "caching", "polyglot" ], - "downloads": 747217, - "version": "13.5.4" + "downloads": 781150, + "version": "13.6.0" }, { "title": "Aspire.Hosting.Yarp", "description": "YARP support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.yarp/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.yarp/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Yarp", "tags": [ "aspire", @@ -1447,13 +1463,13 @@ "api", "polyglot" ], - "downloads": 551528, - "version": "13.5.4" + "downloads": 578894, + "version": "13.6.0" }, { "title": "Aspire.Keycloak.Authentication", "description": "Configures Keycloak as the authentication provider for ASP.NET Core applications.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.keycloak.authentication/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.keycloak.authentication/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Keycloak.Authentication", "tags": [ "aspire", @@ -1466,13 +1482,13 @@ "identity", "security" ], - "downloads": 646462, - "version": "13.5.4-preview.1.26464.4" + "downloads": 673033, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Microsoft.Azure.Cosmos", - "description": "A client for Azure Cosmos DB that integrates with Aspire, including logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.azure.cosmos/13.5.4/icon", + "description": "A client for Azure Cosmos DB that integrates with Aspire, including health checks, logging, and telemetry.", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.azure.cosmos/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Azure.Cosmos", "tags": [ "aspire", @@ -1488,13 +1504,13 @@ "db", "nosql" ], - "downloads": 1548732, - "version": "13.5.4" + "downloads": 1588379, + "version": "13.6.0" }, { "title": "Aspire.Microsoft.Azure.StackExchangeRedis", "description": "An Azure Cache for Redis® client that integrates with Aspire, including Azure AD authentication, health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.azure.stackexchangeredis/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.azure.stackexchangeredis/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Azure.StackExchangeRedis", "tags": [ "aspire", @@ -1507,13 +1523,13 @@ "cache", "caching" ], - "downloads": 138212, - "version": "13.5.4" + "downloads": 147288, + "version": "13.6.0" }, { "title": "Aspire.Microsoft.Data.SqlClient", "description": "A Microsoft SQL Server client that integrates with Aspire, including health checks, metrics and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.data.sqlclient/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.data.sqlclient/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Data.SqlClient", "tags": [ "aspire", @@ -1526,13 +1542,13 @@ "sqlserver", "sql" ], - "downloads": 1979066, - "version": "13.5.4" + "downloads": 2011348, + "version": "13.6.0" }, { "title": "Aspire.Microsoft.EntityFrameworkCore.Cosmos", "description": "A Microsoft Azure Cosmos DB provider for Entity Framework Core that integrates with Aspire, including connection pooling, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.entityframeworkcore.cosmos/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.entityframeworkcore.cosmos/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.EntityFrameworkCore.Cosmos", "tags": [ "aspire", @@ -1553,13 +1569,13 @@ "cosmosdb", "nosql" ], - "downloads": 245023, - "version": "13.5.4" + "downloads": 250443, + "version": "13.6.0" }, { "title": "Aspire.Microsoft.EntityFrameworkCore.SqlServer", "description": "A Microsoft SQL Server provider for Entity Framework Core that integrates with Aspire, including connection pooling, health check, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.entityframeworkcore.sqlserver/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.entityframeworkcore.sqlserver/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.EntityFrameworkCore.SqlServer", "tags": [ "aspire", @@ -1578,13 +1594,13 @@ "sqlserver", "sql" ], - "downloads": 6316387, - "version": "13.5.4" + "downloads": 6486741, + "version": "13.6.0" }, { "title": "Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration", "description": "A client for Azure App Configuration that integrates with Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.extensions.configuration.azureappconfiguration/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.extensions.configuration.azureappconfiguration/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration", "tags": [ "aspire", @@ -1596,13 +1612,13 @@ "configuration", "appconfiguration" ], - "downloads": 798862, - "version": "13.5.4" + "downloads": 848954, + "version": "13.6.0" }, { "title": "Aspire.Milvus.Client", "description": "A Milvus client that integrates with Aspire, including logging.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.milvus.client/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.milvus.client/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.Milvus.Client", "tags": [ "aspire", @@ -1616,13 +1632,13 @@ "search", "ai-search" ], - "downloads": 9564, - "version": "13.5.4-preview.1.26464.4" + "downloads": 9626, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.MongoDB.Driver", "description": "A generic MongoDB client that integrates with Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.MongoDB.Driver", "tags": [ "aspire", @@ -1634,13 +1650,13 @@ "database", "mongodb" ], - "downloads": 426875, - "version": "13.5.4" + "downloads": 445936, + "version": "13.6.0" }, { "title": "Aspire.MongoDB.Driver.v2", "description": "A generic MongoDB client (versions 2.x) that integrates with Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver.v2/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver.v2/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.MongoDB.Driver.v2", "tags": [ "aspire", @@ -1652,13 +1668,13 @@ "database", "mongodb" ], - "downloads": 5225, - "version": "13.5.4" + "downloads": 5401, + "version": "13.6.0" }, { "title": "Aspire.MongoDB.EntityFrameworkCore", "description": "A MongoDB provider for Entity Framework Core that integrates with Aspire, including connection pooling, health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.entityframeworkcore/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.entityframeworkcore/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.MongoDB.EntityFrameworkCore", "tags": [ "aspire", @@ -1676,13 +1692,13 @@ "o/rm", "mongodb" ], - "downloads": 7281, - "version": "13.5.4" + "downloads": 7621, + "version": "13.6.0" }, { "title": "Aspire.MySqlConnector", "description": "A MySQL client that integrates with Aspire, including health checks, metrics, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mysqlconnector/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mysqlconnector/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.MySqlConnector", "tags": [ "aspire", @@ -1696,13 +1712,13 @@ "mysql", "sql" ], - "downloads": 2474224, - "version": "13.5.4" + "downloads": 2475901, + "version": "13.6.0" }, { "title": "Aspire.NATS.Net", "description": "A NATS client that integrates with Aspire, including health checks and logging.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.nats.net/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.nats.net/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.NATS.Net", "tags": [ "aspire", @@ -1714,13 +1730,13 @@ "messaging", "eventing" ], - "downloads": 192556, - "version": "13.5.4" + "downloads": 200469, + "version": "13.6.0" }, { "title": "Aspire.Npgsql", "description": "A PostgreSQL® client that integrates with Aspire, including health checks, metrics, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.npgsql/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.npgsql/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Npgsql", "tags": [ "aspire", @@ -1735,13 +1751,13 @@ "npgsql", "sql" ], - "downloads": 3632925, - "version": "13.5.4" + "downloads": 3693816, + "version": "13.6.0" }, { "title": "Aspire.Npgsql.EntityFrameworkCore.PostgreSQL", "description": "A PostgreSQL® provider for Entity Framework Core that integrates with Aspire, including connection pooling, health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.npgsql.entityframeworkcore.postgresql/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.npgsql.entityframeworkcore.postgresql/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL", "tags": [ "aspire", @@ -1762,13 +1778,13 @@ "npgsql", "sql" ], - "downloads": 7222213, - "version": "13.5.4" + "downloads": 7406729, + "version": "13.6.0" }, { "title": "Aspire.OpenAI", "description": "A client for OpenAI that integrates with Aspire, including metrics and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.openai/13.5.4-preview.1.26464.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.openai/13.6.0-preview.1.26479.8/icon", "href": "https://www.nuget.org/packages/Aspire.OpenAI", "tags": [ "aspire", @@ -1779,13 +1795,13 @@ "ai", "openai" ], - "downloads": 753884, - "version": "13.5.4-preview.1.26464.4" + "downloads": 770152, + "version": "13.6.0-preview.1.26479.8" }, { "title": "Aspire.Oracle.EntityFrameworkCore", "description": "An Oracle Database provider for Entity Framework Core that integrates with Aspire, including connection pooling, health check, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.oracle.entityframeworkcore/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.oracle.entityframeworkcore/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Oracle.EntityFrameworkCore", "tags": [ "aspire", @@ -1804,13 +1820,13 @@ "oracle", "sql" ], - "downloads": 253213, - "version": "13.5.4" + "downloads": 255094, + "version": "13.6.0" }, { "title": "Aspire.Pomelo.EntityFrameworkCore.MySql", "description": "A MySQL provider for Entity Framework Core that integrates with Aspire, including connection pooling, health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.pomelo.entityframeworkcore.mysql/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.pomelo.entityframeworkcore.mysql/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Pomelo.EntityFrameworkCore.MySql", "tags": [ "aspire", @@ -1830,13 +1846,13 @@ "mysql", "sql" ], - "downloads": 422607, - "version": "13.5.4" + "downloads": 424692, + "version": "13.6.0" }, { "title": "Aspire.Qdrant.Client", "description": "A Qdrant client that integrates with Aspire, including logging.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.qdrant.client/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.qdrant.client/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Qdrant.Client", "tags": [ "aspire", @@ -1849,13 +1865,13 @@ "database", "ai-search" ], - "downloads": 125904, - "version": "13.5.4" + "downloads": 128627, + "version": "13.6.0" }, { "title": "Aspire.RabbitMQ.Client", "description": "A RabbitMQ client that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.rabbitmq.client/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.rabbitmq.client/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.RabbitMQ.Client", "tags": [ "aspire", @@ -1870,13 +1886,13 @@ "messaging", "eventing" ], - "downloads": 1244304, - "version": "13.5.4" + "downloads": 1281321, + "version": "13.6.0" }, { "title": "Aspire.RabbitMQ.Client.v6", "description": "A RabbitMQ client (versions 6.x) that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.rabbitmq.client.v6/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.rabbitmq.client.v6/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.RabbitMQ.Client.v6", "tags": [ "aspire", @@ -1891,13 +1907,13 @@ "messaging", "eventing" ], - "downloads": 5565, - "version": "13.5.4" + "downloads": 5691, + "version": "13.6.0" }, { "title": "Aspire.Seq", "description": "A Seq client that connects an Aspire project's telemetry to Seq.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.seq/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.seq/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.Seq", "tags": [ "aspire", @@ -1909,13 +1925,13 @@ "observability", "logging" ], - "downloads": 548146, - "version": "13.5.4" + "downloads": 560060, + "version": "13.6.0" }, { "title": "Aspire.StackExchange.Redis", "description": "A generic Redis® client that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.StackExchange.Redis", "tags": [ "aspire", @@ -1927,13 +1943,13 @@ "caching", "redis" ], - "downloads": 12018734, - "version": "13.5.4" + "downloads": 12232395, + "version": "13.6.0" }, { "title": "Aspire.StackExchange.Redis.DistributedCaching", "description": "A Redis® implementation for IDistributedCache that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis.distributedcaching/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis.distributedcaching/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.StackExchange.Redis.DistributedCaching", "tags": [ "aspire", @@ -1947,13 +1963,13 @@ "distributedcache", "redis" ], - "downloads": 3493861, - "version": "13.5.4" + "downloads": 3593331, + "version": "13.6.0" }, { "title": "Aspire.StackExchange.Redis.OutputCaching", "description": "A Redis® implementation for ASP.NET Core Output Caching that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis.outputcaching/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis.outputcaching/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.StackExchange.Redis.OutputCaching", "tags": [ "aspire", @@ -1968,13 +1984,13 @@ "outputcache", "redis" ], - "downloads": 1001898, - "version": "13.5.4" + "downloads": 1020969, + "version": "13.6.0" }, { "title": "Aspire.TypeSystem", "description": "Aspire Type System (ATS) APIs for Aspire polyglot support.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.typesystem/13.5.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.typesystem/13.6.0/icon", "href": "https://www.nuget.org/packages/Aspire.TypeSystem", "tags": [ "aspire", @@ -1982,8 +1998,8 @@ "typesystem", "polyglot" ], - "downloads": 87507, - "version": "13.5.4" + "downloads": 100082, + "version": "13.6.0" }, { "title": "CommunityToolkit.Aspire.Bitwarden.SecretManager", @@ -2000,7 +2016,7 @@ "secret-manager", "client" ], - "downloads": 2116, + "downloads": 2725, "version": "13.5.0" }, { @@ -2019,7 +2035,7 @@ "olap", "ado.net" ], - "downloads": 1902, + "downloads": 2409, "version": "13.5.0" }, { @@ -2035,7 +2051,7 @@ "gofeatureflag", "client" ], - "downloads": 50837, + "downloads": 51513, "version": "13.5.0" }, { @@ -2052,7 +2068,7 @@ "activemq", "polyglot" ], - "downloads": 76416, + "downloads": 77642, "version": "13.5.0" }, { @@ -2069,7 +2085,7 @@ "adminer", "polyglot" ], - "downloads": 285632, + "downloads": 299828, "version": "13.5.0" }, { @@ -2087,7 +2103,7 @@ "azure", "polyglot" ], - "downloads": 93814, + "downloads": 95924, "version": "13.0.0" }, { @@ -2108,7 +2124,7 @@ "pubsub", "polyglot" ], - "downloads": 54833, + "downloads": 55501, "version": "13.0.0" }, { @@ -2126,7 +2142,7 @@ "hosting", "polyglot" ], - "downloads": 70118, + "downloads": 70912, "version": "13.5.0" }, { @@ -2144,7 +2160,7 @@ "extensions", "polyglot" ], - "downloads": 6967, + "downloads": 7643, "version": "13.5.0" }, { @@ -2163,7 +2179,7 @@ "secret-manager", "polyglot" ], - "downloads": 1705, + "downloads": 2192, "version": "13.5.0" }, { @@ -2182,7 +2198,7 @@ "deprecated", "polyglot" ], - "downloads": 110512, + "downloads": 112693, "version": "13.3.0" }, { @@ -2199,7 +2215,7 @@ "dapr", "polyglot" ], - "downloads": 753169, + "downloads": 783443, "version": "13.0.0" }, { @@ -2213,7 +2229,7 @@ "communitytoolkit", "dotnetcommunitytoolkit" ], - "downloads": 4826, + "downloads": 4854, "version": "9.1.1-beta.197" }, { @@ -2230,7 +2246,7 @@ "dbgate", "polyglot" ], - "downloads": 344115, + "downloads": 359702, "version": "13.5.0" }, { @@ -2247,7 +2263,7 @@ "dbx", "polyglot" ], - "downloads": 19720, + "downloads": 28537, "version": "13.5.0" }, { @@ -2264,7 +2280,7 @@ "deno", "polyglot" ], - "downloads": 72243, + "downloads": 73198, "version": "13.5.0" }, { @@ -2283,7 +2299,7 @@ "olap", "polyglot" ], - "downloads": 1914, + "downloads": 2559, "version": "13.5.0" }, { @@ -2301,7 +2317,7 @@ "elasticvue", "polyglot" ], - "downloads": 8385, + "downloads": 9346, "version": "13.5.0" }, { @@ -2320,7 +2336,7 @@ "openfeature", "polyglot" ], - "downloads": 26834, + "downloads": 28393, "version": "13.5.0" }, { @@ -2345,7 +2361,7 @@ "tls", "polyglot" ], - "downloads": 3725, + "downloads": 7549, "version": "13.5.0" }, { @@ -2363,7 +2379,7 @@ "migration", "polyglot" ], - "downloads": 58340, + "downloads": 64830, "version": "13.5.0" }, { @@ -2380,7 +2396,7 @@ "gofeatureflag", "polyglot" ], - "downloads": 49224, + "downloads": 49873, "version": "13.5.0" }, { @@ -2397,7 +2413,7 @@ "java", "polyglot" ], - "downloads": 79143, + "downloads": 79996, "version": "13.5.0" }, { @@ -2418,7 +2434,7 @@ "npm", "polyglot" ], - "downloads": 177155, + "downloads": 184402, "version": "13.5.0" }, { @@ -2437,7 +2453,7 @@ "cluster", "polyglot" ], - "downloads": 2060, + "downloads": 2919, "version": "13.5.0" }, { @@ -2454,13 +2470,13 @@ "k6", "polyglot" ], - "downloads": 66060, + "downloads": 69596, "version": "13.5.0" }, { "title": "CommunityToolkit.Aspire.Hosting.Keycloak.Extensions", "description": "Aspire hosting extensions for Keycloak (includes PostgreSQL integration).", - "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.keycloak.extensions/13.5.1-beta.763/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.keycloak.extensions/13.5.1-beta.895/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Keycloak.Extensions", "tags": [ "aspire", @@ -2473,13 +2489,13 @@ "extensions", "polyglot" ], - "downloads": 19463, - "version": "13.5.1-beta.763" + "downloads": 20938, + "version": "13.5.1-beta.895" }, { "title": "CommunityToolkit.Aspire.Hosting.Kind", "description": "An Aspire hosting integration for Kind that manages local Kind clusters for development with Docker or Podman.", - "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.kind/13.5.1-beta.763/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.kind/13.5.1-beta.895/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Kind", "tags": [ "aspire", @@ -2494,8 +2510,8 @@ "podman", "polyglot" ], - "downloads": 1176, - "version": "13.5.1-beta.763" + "downloads": 1810, + "version": "13.5.1-beta.895" }, { "title": "CommunityToolkit.Aspire.Hosting.KurrentDB", @@ -2511,7 +2527,7 @@ "kurrentdb", "polyglot" ], - "downloads": 18281, + "downloads": 18983, "version": "13.5.0" }, { @@ -2528,7 +2544,7 @@ "lavinmq", "polyglot" ], - "downloads": 50833, + "downloads": 51774, "version": "13.5.0" }, { @@ -2548,7 +2564,7 @@ "marketing", "polyglot" ], - "downloads": 1257, + "downloads": 1768, "version": "13.5.0" }, { @@ -2568,7 +2584,7 @@ "extensions", "polyglot" ], - "downloads": 1799, + "downloads": 2278, "version": "13.5.0" }, { @@ -2586,7 +2602,7 @@ "hosting", "polyglot" ], - "downloads": 388522, + "downloads": 408091, "version": "13.5.0" }, { @@ -2605,7 +2621,7 @@ "hosting", "polyglot" ], - "downloads": 73962, + "downloads": 77198, "version": "13.5.0" }, { @@ -2622,7 +2638,7 @@ "meilisearch", "polyglot" ], - "downloads": 74393, + "downloads": 75610, "version": "13.5.0" }, { @@ -2642,7 +2658,7 @@ "deprecated", "polyglot" ], - "downloads": 192122, + "downloads": 198920, "version": "13.5.0" }, { @@ -2660,7 +2676,7 @@ "dbgate", "polyglot" ], - "downloads": 88051, + "downloads": 89873, "version": "13.5.0" }, { @@ -2679,7 +2695,7 @@ "messaging", "polyglot" ], - "downloads": 724, + "downloads": 1224, "version": "13.5.0" }, { @@ -2697,7 +2713,7 @@ "dbgate", "polyglot" ], - "downloads": 47952, + "downloads": 48890, "version": "13.5.0" }, { @@ -2715,7 +2731,7 @@ "tunnels", "polyglot" ], - "downloads": 206328, + "downloads": 221766, "version": "13.5.0" }, { @@ -2733,7 +2749,7 @@ "ai", "polyglot" ], - "downloads": 406497, + "downloads": 418520, "version": "13.5.0" }, { @@ -2751,7 +2767,7 @@ "observability", "polyglot" ], - "downloads": 67265, + "downloads": 71948, "version": "13.5.0" }, { @@ -2769,7 +2785,7 @@ "hosting", "polyglot" ], - "downloads": 63580, + "downloads": 64583, "version": "13.5.0" }, { @@ -2786,7 +2802,7 @@ "perl", "polyglot" ], - "downloads": 2412, + "downloads": 2942, "version": "13.5.0" }, { @@ -2806,7 +2822,7 @@ "delivery", "polyglot" ], - "downloads": 752, + "downloads": 1208, "version": "13.5.0" }, { @@ -2824,7 +2840,7 @@ "dbgate", "polyglot" ], - "downloads": 114942, + "downloads": 118532, "version": "13.5.0" }, { @@ -2844,7 +2860,7 @@ "hosting", "polyglot" ], - "downloads": 68274, + "downloads": 69940, "version": "13.5.0" }, { @@ -2862,7 +2878,7 @@ "python", "polyglot" ], - "downloads": 78871, + "downloads": 79699, "version": "13.5.0" }, { @@ -2879,7 +2895,7 @@ "ravendb", "polyglot" ], - "downloads": 73024, + "downloads": 74220, "version": "13.5.0" }, { @@ -2897,7 +2913,7 @@ "dbgate", "polyglot" ], - "downloads": 80151, + "downloads": 81566, "version": "13.5.0" }, { @@ -2917,7 +2933,7 @@ "messaging", "polyglot" ], - "downloads": 786, + "downloads": 1322, "version": "13.5.0" }, { @@ -2934,7 +2950,7 @@ "rust", "polyglot" ], - "downloads": 71758, + "downloads": 74273, "version": "13.5.0" }, { @@ -2953,7 +2969,7 @@ "s3-compatible", "polyglot" ], - "downloads": 3393, + "downloads": 4284, "version": "13.5.0" }, { @@ -2973,7 +2989,7 @@ "s3", "polyglot" ], - "downloads": 2575, + "downloads": 3537, "version": "13.5.0" }, { @@ -2991,7 +3007,7 @@ "hosting", "polyglot" ], - "downloads": 10945, + "downloads": 12771, "version": "13.5.0" }, { @@ -3009,7 +3025,7 @@ "search", "polyglot" ], - "downloads": 15883, + "downloads": 16623, "version": "13.5.0" }, { @@ -3027,7 +3043,7 @@ "sqlproj", "polyglot" ], - "downloads": 362957, + "downloads": 376564, "version": "13.5.0" }, { @@ -3045,7 +3061,7 @@ "sqlite", "polyglot" ], - "downloads": 96408, + "downloads": 98478, "version": "13.5.0" }, { @@ -3063,7 +3079,7 @@ "dbgate", "polyglot" ], - "downloads": 230685, + "downloads": 242012, "version": "13.5.0" }, { @@ -3083,7 +3099,7 @@ "copilot", "polyglot" ], - "downloads": 1647, + "downloads": 2174, "version": "13.5.0" }, { @@ -3103,7 +3119,7 @@ "huggingface", "polyglot" ], - "downloads": 726, + "downloads": 1151, "version": "13.5.0" }, { @@ -3122,7 +3138,7 @@ "webhooks", "polyglot" ], - "downloads": 13622, + "downloads": 14802, "version": "13.5.0" }, { @@ -3139,7 +3155,7 @@ "surrealdb", "polyglot" ], - "downloads": 22741, + "downloads": 23392, "version": "13.5.0" }, { @@ -3156,7 +3172,7 @@ "umami", "polyglot" ], - "downloads": 2812, + "downloads": 3305, "version": "13.5.0" }, { @@ -3178,7 +3194,7 @@ "oidc", "polyglot" ], - "downloads": 2904, + "downloads": 3443, "version": "13.5.0" }, { @@ -3194,7 +3210,7 @@ "kurrentdb", "client" ], - "downloads": 13370, + "downloads": 14032, "version": "13.5.0" }, { @@ -3213,7 +3229,7 @@ "oidc", "jwt" ], - "downloads": 1814, + "downloads": 2281, "version": "13.5.0" }, { @@ -3230,7 +3246,7 @@ "masstransit", "rabbitmq" ], - "downloads": 85362, + "downloads": 86751, "version": "13.5.0" }, { @@ -3246,7 +3262,7 @@ "meilisearch", "client" ], - "downloads": 85290, + "downloads": 86750, "version": "13.5.0" }, { @@ -3264,7 +3280,7 @@ "data", "ado.net" ], - "downloads": 57196, + "downloads": 57879, "version": "13.5.0" }, { @@ -3285,7 +3301,7 @@ "ef", "orm" ], - "downloads": 66776, + "downloads": 67567, "version": "9.7.2" }, { @@ -3304,7 +3320,7 @@ "storage", "deprecated" ], - "downloads": 90614, + "downloads": 94111, "version": "13.5.0" }, { @@ -3322,7 +3338,7 @@ "ollamasharp", "client" ], - "downloads": 495073, + "downloads": 506072, "version": "13.5.0" }, { @@ -3339,7 +3355,7 @@ "email", "client" ], - "downloads": 801, + "downloads": 1242, "version": "13.5.0" }, { @@ -3355,7 +3371,7 @@ "client", "ravendb" ], - "downloads": 72641, + "downloads": 73514, "version": "13.5.0" }, { @@ -3374,7 +3390,7 @@ "storage", "s3" ], - "downloads": 1465, + "downloads": 1987, "version": "13.5.0" }, { @@ -3390,7 +3406,7 @@ "sftp", "client" ], - "downloads": 5078, + "downloads": 5601, "version": "13.5.0" }, { @@ -3406,7 +3422,7 @@ "surrealdb", "client" ], - "downloads": 21935, + "downloads": 22525, "version": "13.5.0" } ] \ No newline at end of file diff --git a/src/frontend/src/data/github-stats.json b/src/frontend/src/data/github-stats.json index d91c4adcc..568d25685 100644 --- a/src/frontend/src/data/github-stats.json +++ b/src/frontend/src/data/github-stats.json @@ -1,7 +1,7 @@ [ { "name": "microsoft/aspire", - "stars": 6317, + "stars": 6325, "description": "Aspire is the tool for code-first, extensible, observable dev and deploy.", "license": "https://github.com/microsoft/aspire/blob/main/LICENSE.TXT", "licenseName": "MIT License", @@ -9,7 +9,7 @@ }, { "name": "microsoft/aspire-samples", - "stars": 1192, + "stars": 1194, "description": "Browse the sample apps demonstrating Aspire integration across C#, JavaScript, TypeScript, Python, Go, containers, databases, cloud, AI, and observability scenarios.", "license": "https://github.com/microsoft/aspire-samples/blob/main/LICENSE", "licenseName": "MIT License", @@ -17,7 +17,7 @@ }, { "name": "CommunityToolkit/Aspire", - "stars": 628, + "stars": 629, "description": "A community project with additional components and extensions for Aspire", "license": "https://github.com/CommunityToolkit/Aspire/blob/main/LICENSE", "licenseName": "MIT License", @@ -25,7 +25,7 @@ }, { "name": "microsoft/aspire.dev", - "stars": 195, + "stars": 197, "description": "The official website for all things aspire.dev.", "license": "https://github.com/microsoft/aspire.dev/blob/main/LICENSE", "licenseName": "MIT License", diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.AI.Inference.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.AI.Inference.13.6.0-preview.1.26479.8.json similarity index 98% rename from src/frontend/src/data/pkgs/Aspire.Azure.AI.Inference.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.AI.Inference.13.6.0-preview.1.26479.8.json index 17335afab..bfd64377b 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.AI.Inference.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.AI.Inference.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.AI.Inference", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -587,7 +587,7 @@ "signature": "public ChatCompletionsClientSettings.ChatCompletionsClientSettings()", "returnType": "void", "sourceFile": "src/Components/Aspire.Azure.AI.Inference/ChatCompletionsClientSettings.cs", - "sourceLines": "80-80" + "sourceLines": "88-88" }, { "name": "ConnectionString", @@ -665,6 +665,38 @@ }, "sourceFile": "src/Components/Aspire.Azure.AI.Inference/ChatCompletionsClientSettings.cs" }, + { + "name": "DisableHealthChecks", + "kind": "property", + "accessibility": "public", + "signature": "public bool ChatCompletionsClientSettings.DisableHealthChecks", + "returnType": "bool", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets a boolean value that indicates whether the health check is disabled or not. " + } + ], + "value": [ + { + "kind": "text", + "text": " The default value is " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "sourceFile": "src/Components/Aspire.Azure.AI.Inference/ChatCompletionsClientSettings.cs" + }, { "name": "DisableMetrics", "kind": "property", @@ -882,7 +914,7 @@ ] }, "sourceFile": "src/Components/Aspire.Azure.AI.Inference/AspireAzureAIInferenceExtensions.cs", - "sourceLines": "24-24", + "sourceLines": "25-25", "members": [ { "name": "AddAzureChatCompletionsClient", @@ -1051,7 +1083,7 @@ ] }, "sourceFile": "src/Components/Aspire.Azure.AI.Inference/AspireAzureAIInferenceExtensions.cs", - "sourceLines": "65-76" + "sourceLines": "66-77" }, { "name": "AddAzureEmbeddingsClient", @@ -1220,7 +1252,7 @@ ] }, "sourceFile": "src/Components/Aspire.Azure.AI.Inference/AspireAzureAIInferenceExtensions.cs", - "sourceLines": "321-332" + "sourceLines": "322-333" }, { "name": "AddChatClient", @@ -1320,7 +1352,7 @@ ] }, "sourceFile": "src/Components/Aspire.Azure.AI.Inference/AspireAzureAIInferenceExtensions.cs", - "sourceLines": "226-229" + "sourceLines": "227-230" }, { "name": "AddEmbeddingGenerator", @@ -1420,7 +1452,7 @@ ] }, "sourceFile": "src/Components/Aspire.Azure.AI.Inference/AspireAzureAIInferenceExtensions.cs", - "sourceLines": "479-482" + "sourceLines": "516-519" }, { "name": "AddKeyedAzureChatCompletionsClient", @@ -1597,7 +1629,7 @@ ] }, "sourceFile": "src/Components/Aspire.Azure.AI.Inference/AspireAzureAIInferenceExtensions.cs", - "sourceLines": "116-127" + "sourceLines": "117-128" }, { "name": "AddKeyedAzureEmbeddingsClient", @@ -1774,7 +1806,7 @@ ] }, "sourceFile": "src/Components/Aspire.Azure.AI.Inference/AspireAzureAIInferenceExtensions.cs", - "sourceLines": "372-383" + "sourceLines": "373-384" }, { "name": "AddKeyedChatClient", @@ -1892,7 +1924,7 @@ ] }, "sourceFile": "src/Components/Aspire.Azure.AI.Inference/AspireAzureAIInferenceExtensions.cs", - "sourceLines": "255-261" + "sourceLines": "256-262" }, { "name": "AddKeyedEmbeddingGenerator", @@ -2010,7 +2042,7 @@ ] }, "sourceFile": "src/Components/Aspire.Azure.AI.Inference/AspireAzureAIInferenceExtensions.cs", - "sourceLines": "508-514" + "sourceLines": "545-551" } ] } diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.AI.OpenAI.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.AI.OpenAI.13.6.0-preview.1.26479.8.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.AI.OpenAI.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.AI.OpenAI.13.6.0-preview.1.26479.8.json index f5e927480..06682fc20 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.AI.OpenAI.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.AI.OpenAI.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.AI.OpenAI", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Data.Tables.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Data.Tables.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Data.Tables.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Data.Tables.13.6.0.json index 9d3be4266..ed8eaba04 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Data.Tables.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Data.Tables.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Data.Tables", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.EventHubs.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.EventHubs.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Messaging.EventHubs.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Messaging.EventHubs.13.6.0.json index 8d62745af..e2371661b 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.EventHubs.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.EventHubs.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Messaging.EventHubs", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.ServiceBus.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.ServiceBus.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Messaging.ServiceBus.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Messaging.ServiceBus.13.6.0.json index 59ffecbfb..164e0bc97 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.ServiceBus.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.ServiceBus.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Messaging.ServiceBus", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.WebPubSub.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.WebPubSub.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Messaging.WebPubSub.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Messaging.WebPubSub.13.6.0.json index 28ad04066..ce8682e76 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.WebPubSub.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Messaging.WebPubSub.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Messaging.WebPubSub", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.13.6.0.json index 8d43c8d42..cf0cf7ce3 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Npgsql", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.13.6.0.json index 28c03b7f2..57a6ba64e 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Search.Documents.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Search.Documents.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Search.Documents.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Search.Documents.13.6.0.json index 06ef14546..652db59eb 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Search.Documents.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Search.Documents.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Search.Documents", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Security.KeyVault.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Security.KeyVault.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Security.KeyVault.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Security.KeyVault.13.6.0.json index 302567051..21d043834 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Security.KeyVault.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Security.KeyVault.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Security.KeyVault", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Blobs.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Blobs.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Storage.Blobs.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Storage.Blobs.13.6.0.json index 09196d654..1edfd180a 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Blobs.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Blobs.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Storage.Blobs", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Files.DataLake.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Files.DataLake.13.6.0-preview.1.26479.8.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Storage.Files.DataLake.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Storage.Files.DataLake.13.6.0-preview.1.26479.8.json index 500783bf5..167765835 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Files.DataLake.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Files.DataLake.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Storage.Files.DataLake", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Queues.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Queues.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Azure.Storage.Queues.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Azure.Storage.Queues.13.6.0.json index 8d5a73f59..6f5cbfe92 100644 --- a/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Queues.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Azure.Storage.Queues.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Azure.Storage.Queues", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Confluent.Kafka.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Confluent.Kafka.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Confluent.Kafka.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Confluent.Kafka.13.6.0.json index 6a42ac30d..cb5fd8eb5 100644 --- a/src/frontend/src/data/pkgs/Aspire.Confluent.Kafka.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Confluent.Kafka.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Confluent.Kafka", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.13.6.0.json similarity index 91% rename from src/frontend/src/data/pkgs/Aspire.Hosting.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.13.6.0.json index 1346743be..3b70d7e82 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -892,6 +892,59 @@ } ] }, + { + "name": "AspireExportProviderAttribute", + "fullName": "Aspire.Hosting.AspireExportProviderAttribute", + "namespace": "Aspire.Hosting", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "baseType": "System.Attribute", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Marks an assembly-level opt-in attribute whose source generator provides " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.AspireExportAttribute" + }, + { + "kind": "text", + "text": " coverage. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Source generators can apply this attribute to their opt-in attribute type so the Aspire integration analyzer recognizes assemblies whose exports are produced during compilation. The opt-in attribute itself must target assemblies. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREEXPORT018" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/Ats/AspireExportProviderAttribute.cs", + "sourceLines": "17-17", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public AspireExportProviderAttribute.AspireExportProviderAttribute()", + "returnType": "void" + } + ] + }, { "name": "AspireUnionAttribute", "fullName": "Aspire.Hosting.AspireUnionAttribute", @@ -2030,7 +2083,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "24-24", + "sourceLines": "25-25", "members": [ { "name": "AddContainer", @@ -2114,7 +2167,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "118-124" + "sourceLines": "119-125" }, { "name": "AddContainer", @@ -2208,7 +2261,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "138-139" + "sourceLines": "139-140" }, { "name": "AddDockerfile", @@ -2414,7 +2467,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "924-929" + "sourceLines": "923-928" }, { "name": "AddDockerfileBuilder", @@ -3085,7 +3138,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "633-635" + "sourceLines": "632-634" }, { "name": "WithBindMount", @@ -3289,7 +3342,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "322-329" + "sourceLines": "321-328" }, { "name": "WithBuildArg", @@ -3780,7 +3833,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "1279-1292" + "sourceLines": "1278-1291" }, { "name": "WithContainerCertificatePaths", @@ -3942,7 +3995,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "1310-1317" + "sourceLines": "1309-1316" }, { "name": "WithContainerFiles", @@ -4138,7 +4191,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "1391-1404" + "sourceLines": "1390-1403" }, { "name": "WithContainerFiles", @@ -4302,7 +4355,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "1463-1476" + "sourceLines": "1462-1475" }, { "name": "WithContainerFiles", @@ -4438,7 +4491,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "1495-1524" + "sourceLines": "1494-1523" }, { "name": "WithContainerName", @@ -4531,7 +4584,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "1108-1111" + "sourceLines": "1107-1110" }, { "name": "WithContainerNetworkAlias", @@ -4630,7 +4683,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "1881-1881" + "sourceLines": "1880-1880" }, { "name": "WithContainerRuntimeArgs", @@ -4724,7 +4777,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "511-513" + "sourceLines": "510-512" }, { "name": "WithContainerRuntimeArgs", @@ -5151,7 +5204,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "680-735" + "sourceLines": "679-734" }, { "name": "WithDockerfileBaseImage", @@ -5273,7 +5326,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "1846-1857" + "sourceLines": "1845-1856" }, { "name": "WithDockerfileBuilder", @@ -6095,7 +6148,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "43-43" + "sourceLines": "44-44" }, { "name": "WithEntrypoint", @@ -6174,7 +6227,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "343-347" + "sourceLines": "342-346" }, { "name": "WithImage", @@ -6265,7 +6318,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "416-470" + "sourceLines": "415-469" }, { "name": "WithImagePullPolicy", @@ -6344,7 +6397,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "615-617" + "sourceLines": "614-616" }, { "name": "WithImageRegistry", @@ -6424,7 +6477,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "393-401" + "sourceLines": "392-400" }, { "name": "WithImageSHA256", @@ -6503,7 +6556,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "484-493" + "sourceLines": "483-492" }, { "name": "WithImageTag", @@ -6582,7 +6635,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "361-379" + "sourceLines": "360-378" }, { "name": "WithLifetime", @@ -6713,7 +6766,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "589-601" + "sourceLines": "588-600" }, { "name": "WithVolume", @@ -6786,6 +6839,15 @@ } ] }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Named volumes are preserved independently of the container lifetime. A session-lifetime container is removed when the AppHost stops and reuses the named volume on its next run. A persistent-lifetime container can remain running and keeps the same attached volume. " + } + ] + }, { "kind": "para", "children": [ @@ -6904,7 +6966,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "223-227" + "sourceLines": "230-230" }, { "name": "WithVolume", @@ -7064,7 +7126,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs", - "sourceLines": "264-268" + "sourceLines": "267-267" } ] }, @@ -7530,7 +7592,7 @@ } }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "71-83" + "sourceLines": "78-90" }, { "name": "CreateBuilder", @@ -7617,7 +7679,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "108-108" + "sourceLines": "115-115" }, { "name": "CreateBuilder", @@ -7765,7 +7827,7 @@ } }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "161-167" + "sourceLines": "168-174" }, { "name": "CreateBuilder", @@ -8040,7 +8102,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "411-412" + "sourceLines": "425-426" }, { "name": "DisposeAsync", @@ -8175,7 +8237,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "443-443" + "sourceLines": "457-457" }, { "name": "Run", @@ -8274,7 +8336,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "588-589" + "sourceLines": "603-604" }, { "name": "RunAsync", @@ -8414,7 +8476,7 @@ } }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "522-561" + "sourceLines": "535-573" }, { "name": "StartAsync", @@ -8485,7 +8547,7 @@ } }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "450-479" + "sourceLines": "464-492" }, { "name": "StopAsync", @@ -8540,7 +8602,7 @@ } }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "484-491" + "sourceLines": "497-504" }, { "name": "ResourceCommands", @@ -8594,7 +8656,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "381-381" + "sourceLines": "395-395" }, { "name": "ResourceNotifications", @@ -8684,7 +8746,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "369-369" + "sourceLines": "383-383" }, { "name": "Services", @@ -8786,7 +8848,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplication.cs", - "sourceLines": "317-317" + "sourceLines": "331-331" } ] }, @@ -8884,7 +8946,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "67-67", + "sourceLines": "71-71", "members": [ { "name": ".ctor", @@ -8950,7 +9012,7 @@ } }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "127-130" + "sourceLines": "131-134" }, { "name": ".ctor", @@ -9057,7 +9119,7 @@ } }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "102-619" + "sourceLines": "106-681" }, { "name": "AddResource", @@ -9205,7 +9267,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "843-848" + "sourceLines": "906-911" }, { "name": "Build", @@ -9287,7 +9349,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "813-837" + "sourceLines": "876-900" }, { "name": "CreateResourceBuilder", @@ -9545,7 +9607,7 @@ } }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "854-857" + "sourceLines": "917-920" }, { "name": "AppHostAssembly", @@ -9564,7 +9626,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "96-96" + "sourceLines": "100-100" }, { "name": "AppHostDirectory", @@ -9582,7 +9644,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "90-90" + "sourceLines": "94-94" }, { "name": "AppHostPath", @@ -9593,7 +9655,7 @@ "hasGet": true, "docs": {}, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "93-93" + "sourceLines": "97-97" }, { "name": "Configuration", @@ -9617,7 +9679,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "84-84" + "sourceLines": "88-88" }, { "name": "Environment", @@ -9635,7 +9697,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "81-81" + "sourceLines": "85-85" }, { "name": "Eventing", @@ -9653,7 +9715,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "105-105" + "sourceLines": "109-109" }, { "name": "ExecutionContext", @@ -9752,7 +9814,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "99-99" + "sourceLines": "103-103" }, { "name": "FileSystemService", @@ -9814,7 +9876,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "111-111" + "sourceLines": "115-115" }, { "name": "Pipeline", @@ -9838,7 +9900,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "108-108" + "sourceLines": "112-112" }, { "name": "Resources", @@ -9862,7 +9924,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "102-102" + "sourceLines": "106-106" }, { "name": "Services", @@ -9880,7 +9942,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "87-87" + "sourceLines": "91-91" }, { "name": "UserSecretsManager", @@ -9917,7 +9979,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/DistributedApplicationBuilder.cs", - "sourceLines": "114-114" + "sourceLines": "118-118" } ] }, @@ -12291,8 +12353,8 @@ ] }, { - "name": "DotnetToolResourceExtensions", - "fullName": "Aspire.Hosting.DotnetToolResourceExtensions", + "name": "DotnetProgramResourceBuilderExtensions", + "fullName": "Aspire.Hosting.DotnetProgramResourceBuilderExtensions", "namespace": "Aspire.Hosting", "kind": "class", "accessibility": "public", @@ -12301,7 +12363,7 @@ "summary": [ { "kind": "text", - "text": " Provides extension methods for adding Dotnet Tool resources to the application model. " + "text": " Provides publishing configuration for resources backed by .NET programs. " } ] }, @@ -12309,121 +12371,104 @@ { "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", "constructorArguments": [ - "ASPIREDOTNETTOOL" + "ASPIREPROJECTS001" ], "arguments": { "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" } } ], - "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", - "sourceLines": "16-16", + "sourceFile": "src/Aspire.Hosting/DotnetProgramResourceBuilderExtensions.cs", + "sourceLines": "13-13", "members": [ { - "name": "AddDotnetTool", + "name": "DisableForwardedHeaders", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder DotnetToolResourceExtensions.AddDotnetTool(this IDistributedApplicationBuilder builder, string name, string packageId)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder DotnetProgramResourceBuilderExtensions.DisableForwardedHeaders(this IResourceBuilder builder)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { "name": "builder", - "type": "Aspire.Hosting.IDistributedApplicationBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" - }, - { - "name": "name", - "type": "string" - }, + } + ], + "genericParameters": [ { - "name": "packageId", - "type": "string" + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IDotnetProgramResource" + ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Polyglot integrations export concrete resource overloads so fluent APIs preserve their concrete builder type." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a .NET tool resource to the application model. " + "text": " Configures the .NET program to omit automatic forwarded-header configuration when publishing. " } ], "returns": [ { "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": "." + "text": "The resource builder for chaining." } ], "parameters": { "builder": [ { "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.IDistributedApplicationBuilder" - }, - { - "kind": "text", - "text": "." - } - ], - "name": [ - { - "kind": "text", - "text": "The name of the resource." + "text": "The resource builder." } - ], - "packageId": [ + ] + }, + "typeParameters": { + "T": [ { "kind": "text", - "text": "The package id of the tool." + "text": "The .NET program resource type." } ] } }, - "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", - "sourceLines": "30-30" + "sourceFile": "src/Aspire.Hosting/DotnetProgramResourceBuilderExtensions.cs", + "sourceLines": "42-44" }, { - "name": "AddDotnetTool", + "name": "WithDotnetProgramBuildEnvironment", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder DotnetToolResourceExtensions.AddDotnetTool(this IDistributedApplicationBuilder builder, T resource)", + "signature": "public static IResourceBuilder DotnetProgramResourceBuilderExtensions.WithDotnetProgramBuildEnvironment(this IResourceBuilder builder, Func callback)", "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { "name": "builder", - "type": "Aspire.Hosting.IDistributedApplicationBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "resource", - "type": "T" + "name": "callback", + "type": "System.Func" } ], "genericParameters": [ { "name": "T", "constraints": [ - "Aspire.Hosting.ApplicationModel.DotnetToolResource" + "Aspire.Hosting.ApplicationModel.IDotnetProgramResource" ] } ], @@ -12431,7 +12476,7 @@ { "name": "Aspire.Hosting.AspireExportIgnoreAttribute", "arguments": { - "Reason": "Open generic IResource constraint — not ATS-compatible." + "Reason": "Integration authoring API with a raw delegate callback that is not ATS-compatible." } } ], @@ -12439,48 +12484,54 @@ "summary": [ { "kind": "text", - "text": " Adds a .NET tool resource to the distributed application model and configures it for execution via the " - }, - { - "kind": "code", - "text": "dotnet\n tool exec" - }, - { - "kind": "text", - "text": " command. " + "text": " Adds a callback that configures build-only environment variables for .NET SDK container publishing. " } ], "remarks": [ { - "kind": "text", - "text": "This method is not available in polyglot AppHosts. Use the overload with name and packageId instead." + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Values supplied through this callback affect the publishing MSBuild evaluation and may appear in build diagnostics. They are not a secret transport. Callbacks are evaluated in registration order for each publish build. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " When publishing a container, Aspire rejects values that control the output artifact's identity, destination, format, or target platform because downstream publishing steps use the corresponding container build options. Configure those values with " + }, + { + "kind": "code", + "text": "WithContainerBuildOptions" + }, + { + "kind": "text", + "text": ". " + } + ] } ], "returns": [ { "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": "." + "text": "The resource builder for chaining." } ], "parameters": { "builder": [ { "kind": "text", - "text": "The distributed application builder to which the .NET tool resource will be added." + "text": "The resource builder." } ], - "resource": [ + "callback": [ { "kind": "text", - "text": "The .NET tool resource instance to add and configure." + "text": "The callback that configures the build environment." } ] }, @@ -12488,27 +12539,54 @@ "T": [ { "kind": "text", - "text": "The type of the .NET tool resource to add. Must inherit from " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.DotnetToolResource" - }, - { - "kind": "text", - "text": "." + "text": "The .NET program resource type." } ] - } + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "text", + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "paramref", + "value": "callback" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": ". " + } + ] + } + ] }, - "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", - "sourceLines": "46-56" + "sourceFile": "src/Aspire.Hosting/DotnetProgramResourceBuilderExtensions.cs", + "sourceLines": "94-97" }, { - "name": "WithToolIgnoreExistingFeeds", + "name": "WithDotnetProgramPublishing", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder DotnetToolResourceExtensions.WithToolIgnoreExistingFeeds(this IResourceBuilder builder)", + "signature": "public static IResourceBuilder DotnetProgramResourceBuilderExtensions.WithDotnetProgramPublishing(this IResourceBuilder builder)", "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, @@ -12523,49 +12601,58 @@ { "name": "T", "constraints": [ - "Aspire.Hosting.ApplicationModel.DotnetToolResource" + "Aspire.Hosting.ApplicationModel.IDotnetProgramResource" ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Integration authoring API that depends on .NET project metadata and is not part of the ATS surface." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures the tool to use only the specified package sources, ignoring existing NuGet configuration. " + "text": " Configures a .NET program resource to publish a container image through the .NET SDK. " } ], - "returns": [ + "remarks": [ { "kind": "text", - "text": "The " + "text": " This method is intended for .NET language integrations that model programs without deriving from " }, { "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + "value": "T:Aspire.Hosting.ApplicationModel.ProjectResource" }, { "kind": "text", - "text": " for chaining." + "text": ". Ordinary projects created with " + }, + { + "kind": "code", + "text": "AddProject" + }, + { + "kind": "text", + "text": " are configured automatically. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The resource builder for chaining." } ], "parameters": { "builder": [ { "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": "." + "text": "The resource builder." } ] }, @@ -12573,19 +12660,46 @@ "T": [ { "kind": "text", - "text": "The Dotnet Tool resource type" + "text": "The .NET program resource type." } ] - } + }, + "exceptions": [ + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": " The resource does not implement " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IComputeResource" + }, + { + "kind": "text", + "text": " or does not carry exactly one stable " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.IProjectMetadata" + }, + { + "kind": "text", + "text": " annotation. " + } + ] + } + ] }, - "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", - "sourceLines": "191-192" + "sourceFile": "src/Aspire.Hosting/DotnetProgramResourceBuilderExtensions.cs", + "sourceLines": "118-129" }, { - "name": "WithToolIgnoreFailedSources", + "name": "WithEndpointsInEnvironment", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder DotnetToolResourceExtensions.WithToolIgnoreFailedSources(this IResourceBuilder builder)", + "signature": "public static IResourceBuilder DotnetProgramResourceBuilderExtensions.WithEndpointsInEnvironment(this IResourceBuilder builder, Func filter)", "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, @@ -12594,55 +12708,52 @@ "name": "builder", "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" + }, + { + "name": "filter", + "type": "System.Func" } ], "genericParameters": [ { "name": "T", "constraints": [ - "Aspire.Hosting.ApplicationModel.DotnetToolResource" + "Aspire.Hosting.ApplicationModel.IDotnetProgramResource" ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Uses Func; polyglot AppHosts use the endpoint-name dispatcher." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures the resource to treat package source failures as warnings. " + "text": " Configures which endpoints contribute environment variables for the .NET program. " } ], "returns": [ { "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": " for chaining." + "text": "The resource builder for chaining." } ], "parameters": { "builder": [ { "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, + "text": "The resource builder." + } + ], + "filter": [ { "kind": "text", - "text": "." + "text": "The endpoint inclusion filter." } ] }, @@ -12650,19 +12761,19 @@ "T": [ { "kind": "text", - "text": "The Dotnet Tool resource type" + "text": "The .NET program resource type." } ] } }, - "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", - "sourceLines": "206-207" + "sourceFile": "src/Aspire.Hosting/DotnetProgramResourceBuilderExtensions.cs", + "sourceLines": "60-64" }, { - "name": "WithToolPackage", + "name": "WithReplicas", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder DotnetToolResourceExtensions.WithToolPackage(this IResourceBuilder builder, string packageId)", + "signature": "public static IResourceBuilder DotnetProgramResourceBuilderExtensions.WithReplicas(this IResourceBuilder builder, int replicas)", "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, @@ -12673,63 +12784,50 @@ "modifier": "this" }, { - "name": "packageId", - "type": "string" + "name": "replicas", + "type": "int" } ], "genericParameters": [ { "name": "T", "constraints": [ - "Aspire.Hosting.ApplicationModel.DotnetToolResource" + "Aspire.Hosting.ApplicationModel.IDotnetProgramResource" ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Polyglot integrations export concrete resource overloads so fluent APIs preserve their concrete builder type." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Sets the package identifier for the tool configuration associated with the resource builder. " + "text": " Configures the .NET program to run the specified number of replicas. " } ], "returns": [ { "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": " for chaining." + "text": "The resource builder for chaining." } ], "parameters": { "builder": [ { "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": "." + "text": "The resource builder." } ], - "packageId": [ + "replicas": [ { "kind": "text", - "text": "The package identifier to assign to the tool configuration. Cannot be null." + "text": "The number of replicas." } ] }, @@ -12737,35 +12835,66 @@ "T": [ { "kind": "text", - "text": "The Dotnet Tool resource type" + "text": "The .NET program resource type." } ] } }, - "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", - "sourceLines": "129-130" - }, + "sourceFile": "src/Aspire.Hosting/DotnetProgramResourceBuilderExtensions.cs", + "sourceLines": "26-29" + } + ] + }, + { + "name": "DotnetToolResourceExtensions", + "fullName": "Aspire.Hosting.DotnetToolResourceExtensions", + "namespace": "Aspire.Hosting", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Provides extension methods for adding Dotnet Tool resources to the application model. " + } + ] + }, + "attributes": [ { - "name": "WithToolPrerelease", + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREDOTNETTOOL" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", + "sourceLines": "16-16", + "members": [ + { + "name": "AddDotnetTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder DotnetToolResourceExtensions.WithToolPrerelease(this IResourceBuilder builder)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder DotnetToolResourceExtensions.AddDotnetTool(this IDistributedApplicationBuilder builder, string name, string packageId)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { "name": "builder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "type": "Aspire.Hosting.IDistributedApplicationBuilder", "modifier": "this" - } - ], - "genericParameters": [ + }, { - "name": "T", - "constraints": [ - "Aspire.Hosting.ApplicationModel.DotnetToolResource" - ] + "name": "name", + "type": "string" + }, + { + "name": "packageId", + "type": "string" } ], "attributes": [ @@ -12777,7 +12906,7 @@ "summary": [ { "kind": "text", - "text": " Allows prerelease versions of the tool to be used " + "text": " Adds a .NET tool resource to the application model. " } ], "returns": [ @@ -12791,7 +12920,7 @@ }, { "kind": "text", - "text": " for chaining." + "text": "." } ], "parameters": { @@ -12802,43 +12931,47 @@ }, { "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + "value": "T:Aspire.Hosting.IDistributedApplicationBuilder" }, { "kind": "text", "text": "." } - ] - }, - "typeParameters": { - "T": [ + ], + "name": [ { "kind": "text", - "text": "The type of resource being built. Must inherit from DotnetToolResource." + "text": "The name of the resource." + } + ], + "packageId": [ + { + "kind": "text", + "text": "The package id of the tool." } ] } }, "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", - "sourceLines": "160-161" + "sourceLines": "30-30" }, { - "name": "WithToolSource", + "name": "AddDotnetTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder DotnetToolResourceExtensions.WithToolSource(this IResourceBuilder builder, string source)", + "signature": "public static IResourceBuilder DotnetToolResourceExtensions.AddDotnetTool(this IDistributedApplicationBuilder builder, T resource)", "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { "name": "builder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "type": "Aspire.Hosting.IDistributedApplicationBuilder", "modifier": "this" }, { - "name": "source", - "type": "string" + "name": "resource", + "type": "T" } ], "genericParameters": [ @@ -12851,14 +12984,31 @@ ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Open generic IResource constraint — not ATS-compatible." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a NuGet package source for tool acquisition. " + "text": " Adds a .NET tool resource to the distributed application model and configures it for execution via the " + }, + { + "kind": "code", + "text": "dotnet\n tool exec" + }, + { + "kind": "text", + "text": " command. " + } + ], + "remarks": [ + { + "kind": "text", + "text": "This method is not available in polyglot AppHosts. Use the overload with name and packageId instead." } ], "returns": [ @@ -12872,28 +13022,433 @@ }, { "kind": "text", - "text": " for chaining." + "text": "." } ], "parameters": { "builder": [ { "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": "." + "text": "The distributed application builder to which the .NET tool resource will be added." } ], - "source": [ + "resource": [ { "kind": "text", - "text": "The source to add." + "text": "The .NET tool resource instance to add and configure." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The type of the .NET tool resource to add. Must inherit from " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.DotnetToolResource" + }, + { + "kind": "text", + "text": "." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", + "sourceLines": "46-56" + }, + { + "name": "WithToolIgnoreExistingFeeds", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DotnetToolResourceExtensions.WithToolIgnoreExistingFeeds(this IResourceBuilder builder)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.DotnetToolResource" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures the tool to use only the specified package sources, ignoring existing NuGet configuration. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The Dotnet Tool resource type" + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", + "sourceLines": "191-192" + }, + { + "name": "WithToolIgnoreFailedSources", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DotnetToolResourceExtensions.WithToolIgnoreFailedSources(this IResourceBuilder builder)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.DotnetToolResource" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures the resource to treat package source failures as warnings. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The Dotnet Tool resource type" + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", + "sourceLines": "206-207" + }, + { + "name": "WithToolPackage", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DotnetToolResourceExtensions.WithToolPackage(this IResourceBuilder builder, string packageId)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "packageId", + "type": "string" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.DotnetToolResource" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Sets the package identifier for the tool configuration associated with the resource builder. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ], + "packageId": [ + { + "kind": "text", + "text": "The package identifier to assign to the tool configuration. Cannot be null." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The Dotnet Tool resource type" + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", + "sourceLines": "129-130" + }, + { + "name": "WithToolPrerelease", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DotnetToolResourceExtensions.WithToolPrerelease(this IResourceBuilder builder)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.DotnetToolResource" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Allows prerelease versions of the tool to be used " + } + ], + "returns": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The type of resource being built. Must inherit from DotnetToolResource." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/DotnetToolResourceExtensions.cs", + "sourceLines": "160-161" + }, + { + "name": "WithToolSource", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DotnetToolResourceExtensions.WithToolSource(this IResourceBuilder builder, string source)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "source", + "type": "string" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.DotnetToolResource" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds a NuGet package source for tool acquisition. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ], + "source": [ + { + "kind": "text", + "text": "The source to add." } ] }, @@ -13090,7 +13645,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ExecutableResourceBuilderExtensions.cs", - "sourceLines": "12-12", + "sourceLines": "14-14", "members": [ { "name": "AddExecutable", @@ -13401,7 +13956,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ExecutableResourceBuilderExtensions.cs", - "sourceLines": "81-81" + "sourceLines": "83-83" }, { "name": "PublishAsDockerFile", @@ -13516,7 +14071,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ExecutableResourceBuilderExtensions.cs", - "sourceLines": "96-104" + "sourceLines": "98-106" }, { "name": "PublishAsDockerFile", @@ -13629,7 +14184,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ExecutableResourceBuilderExtensions.cs", - "sourceLines": "127-169" + "sourceLines": "129-184" }, { "name": "WithCommand", @@ -13711,7 +14266,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ExecutableResourceBuilderExtensions.cs", - "sourceLines": "183-200" + "sourceLines": "198-215" }, { "name": "WithWorkingDirectory", @@ -13790,7 +14345,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ExecutableResourceBuilderExtensions.cs", - "sourceLines": "214-223" + "sourceLines": "229-241" } ] }, @@ -16455,6 +17010,238 @@ } } }, + { + "name": "PromptTerminalAsync", + "kind": "method", + "accessibility": "public", + "signature": "public abstract Task> IInteractionService.PromptTerminalAsync(string message, AspireTerminal terminal, TerminalInteractionOptions? options = null, CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task>", + "isAbstract": true, + "parameters": [ + { + "name": "message", + "type": "string" + }, + { + "name": "terminal", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminal" + }, + { + "name": "options", + "type": "Aspire.Hosting.TerminalInteractionOptions?", + "isNullable": true, + "isOptional": true + }, + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRETERMINAL001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Displays a caller-owned terminal in a dialog while optional work runs. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Create and start the terminal before prompting, and dispose it when the caller is finished with it. The interaction borrows the terminal: completion, cancellation, and viewer disconnection do not stop or dispose it. The same terminal can be reused across prompts. The terminal process exiting does not close the dialog. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " When " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.TerminalInteractionOptions.Work" + }, + { + "kind": "text", + "text": " is supplied, successful completion closes the dialog. The optional " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.InteractionOptions.PrimaryButtonText" + }, + { + "kind": "text", + "text": " labels a cancel button, not a submit button. User or external cancellation closes the dialog and signals " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.TerminalContext.CancellationToken" + }, + { + "kind": "text", + "text": "; this method waits for the callback to finish before returning. Non-cancellation callback exceptions are propagated after the interaction is removed. Without a callback, the dialog waits for explicit completion, the cancel button, or " + }, + { + "kind": "paramref", + "value": "cancellationToken" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Secondary and dismiss buttons are not shown. Disconnecting a viewer does not complete the interaction; reconnecting can display the pending dialog again. " + } + ] + } + ], + "returns": [ + { + "kind": "text", + "text": " An " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.InteractionResult`1" + }, + { + "kind": "text", + "text": " containing " + }, + { + "kind": "code", + "text": "true" + }, + { + "kind": "text", + "text": " when work or an explicit completion succeeds, or a canceled result when the user or caller cancels the interaction. " + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "A token to cancel the interaction and signal cancellation to the work callback." + } + ], + "message": [ + { + "kind": "text", + "text": "The message to display above the terminal." + } + ], + "options": [ + { + "kind": "text", + "text": "Optional title, cancel button text, message formatting, and work callback." + } + ], + "terminal": [ + { + "kind": "text", + "text": "The exact terminal instance registered with this AppHost, with " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.Dialog" + }, + { + "kind": "text", + "text": " placement." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "paramref", + "value": "message" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "paramref", + "value": "terminal" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": "." + } + ] + }, + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": " The interaction service is unavailable, the terminal is not registered with this AppHost, or its placement is not " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.Dialog" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + { + "type": "T:System.OperationCanceledException", + "description": [ + { + "kind": "paramref", + "value": "cancellationToken" + }, + { + "kind": "text", + "text": " was canceled before the interaction began." + } + ] + } + ], + "examples": [ + { + "code": "\n await using var terminal = terminalService.CreateTerminal(new TerminalLaunchOptions\n {\n Title = \"Setup\",\n Executable = \"./setup.sh\",\n Placement = TerminalPlacement.Dialog\n });\n terminal.Start();\n var result = await interactionService.PromptTerminalAsync(\"Running setup.\", terminal,\n new TerminalInteractionOptions\n {\n Title = \"Setup\",\n PrimaryButtonText = \"Cancel\",\n Work = async context =>\n {\n await terminal.WaitForTextAsync(\"Continue? \", cancellationToken: context.CancellationToken);\n await terminal.SendTextAsync(\"y\\r\", context.CancellationToken);\n await terminal.WaitForTextAsync(\"Setup complete\", cancellationToken: context.CancellationToken);\n }\n }, cancellationToken);\n ", + "language": "csharp" + } + ] + } + }, { "name": "IsAvailable", "kind": "property", @@ -16504,7 +17291,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "229-229", + "sourceLines": "292-292", "members": [ { "name": ".ctor", @@ -16631,7 +17418,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "696-696", + "sourceLines": "875-875", "members": [ { "name": ".ctor", @@ -16693,7 +17480,7 @@ } ], "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "711-711", + "sourceLines": "890-890", "members": [ { "name": ".ctor", @@ -16741,7 +17528,7 @@ } }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "737-746" + "sourceLines": "916-925" }, { "name": "AddValidationError", @@ -16793,7 +17580,7 @@ } }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "756-757" + "sourceLines": "935-936" }, { "name": "CancellationToken", @@ -16935,7 +17722,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "447-447", + "sourceLines": "596-596", "members": [ { "name": "OpenRead", @@ -16950,6 +17737,20 @@ "text": " Opens a read-only stream for the file content. " } ], + "remarks": [ + { + "kind": "text", + "text": " The returned stream remains usable if the owning " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.InteractionFileCollection" + }, + { + "kind": "text", + "text": " is disposed. Dispose the stream when reading is complete so the operating system can finish reclaiming the deleted file. " + } + ], "returns": [ { "kind": "text", @@ -16963,10 +17764,29 @@ "kind": "text", "text": " for reading the file." } + ], + "exceptions": [ + { + "type": "T:System.ObjectDisposedException", + "description": [ + { + "kind": "text", + "text": "The owning " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.InteractionFileCollection" + }, + { + "kind": "text", + "text": " has been disposed." + } + ] + } ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "475-475" + "sourceLines": "633-634" }, { "name": "ReadAllBytesAsync", @@ -17001,10 +17821,29 @@ "text": "A token to monitor for cancellation requests." } ] - } + }, + "exceptions": [ + { + "type": "T:System.ObjectDisposedException", + "description": [ + { + "kind": "text", + "text": "The owning " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.InteractionFileCollection" + }, + { + "kind": "text", + "text": " has been disposed." + } + ] + } + ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "482-482" + "sourceLines": "647-648" }, { "name": "FilePath", @@ -17022,7 +17861,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "469-469" + "sourceLines": "620-620" }, { "name": "Id", @@ -17040,7 +17879,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "459-459" + "sourceLines": "610-610" }, { "name": "Name", @@ -17058,7 +17897,142 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "464-464" + "sourceLines": "615-615" + } + ] + }, + { + "name": "InteractionFileCollection", + "fullName": "Aspire.Hosting.InteractionFileCollection", + "namespace": "Aspire.Hosting", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "interfaces": [ + "System.Collections.Generic.IEnumerable", + "System.Collections.Generic.IReadOnlyCollection", + "System.Collections.Generic.IReadOnlyList", + "System.Collections.IEnumerable", + "System.IDisposable" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents the uploaded files associated with an interaction input. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Dispose the collection when its files are no longer needed. Disposing the collection deletes the uploaded files from disk and prevents new content reads. Streams opened before disposal remain usable until those streams are disposed. Disposal is idempotent. " + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "InteractionFileCollection owns server-local files and implements IDisposable, which is not ATS-compatible." + } + } + ], + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", + "sourceLines": "540-540", + "members": [ + { + "name": "this[]", + "kind": "indexer", + "accessibility": "public", + "signature": "public InteractionFile InteractionFileCollection.this[int index]", + "returnType": "Aspire.Hosting.InteractionFile", + "hasGet": true, + "parameters": [ + { + "name": "index", + "type": "int" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets an uploaded file by its zero-based index. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The uploaded file at the specified index." + } + ], + "parameters": { + "index": [ + { + "kind": "text", + "text": "The zero-based index of the file." + } + ] + } + } + }, + { + "name": "Dispose", + "kind": "method", + "accessibility": "public", + "signature": "public void InteractionFileCollection.Dispose()", + "returnType": "void", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Deletes the uploaded files from disk and prevents new content reads. Streams that are already open remain usable until those streams are disposed. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", + "sourceLines": "578-590" + }, + { + "name": "GetEnumerator", + "kind": "method", + "accessibility": "public", + "signature": "public IEnumerator InteractionFileCollection.GetEnumerator()", + "returnType": "System.Collections.Generic.IEnumerator", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Returns an enumerator that iterates through the uploaded files. " + } + ], + "returns": [ + { + "kind": "text", + "text": "An enumerator for the uploaded files." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", + "sourceLines": "567-567" + }, + { + "name": "Count", + "kind": "property", + "accessibility": "public", + "signature": "public int InteractionFileCollection.Count", + "returnType": "int", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the number of uploaded files in the collection. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", + "sourceLines": "554-554" } ] }, @@ -17083,7 +18057,7 @@ } ], "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "283-283", + "sourceLines": "346-346", "members": [ { "name": ".ctor", @@ -17092,7 +18066,52 @@ "signature": "public InteractionInput.InteractionInput()", "returnType": "void", "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "291-291" + "sourceLines": "351-355" + }, + { + "name": "GetFiles", + "kind": "method", + "accessibility": "public", + "signature": "public InteractionFileCollection InteractionInput.GetFiles()", + "returnType": "Aspire.Hosting.InteractionFileCollection", + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "InteractionFileCollection owns server-local files and implements IDisposable, which is not ATS-compatible." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the files associated with this " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.InputType.File" + }, + { + "kind": "text", + "text": " input. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The caller owns the returned collection and must dispose it when the files are no longer needed to delete the temporary files before AppHost shutdown. After disposal, the file metadata remains available but new content reads cannot be started. Streams opened before disposal remain usable until those streams are disposed. Files that are not disposed are deleted when the AppHost shuts down. " + } + ], + "returns": [ + { + "kind": "text", + "text": " A disposable collection of uploaded files. Disposing the collection deletes the uploaded files from disk. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", + "sourceLines": "528-528" }, { "name": "AllowCustomChoice", @@ -17318,6 +18337,12 @@ "isReturnNullable": true, "hasGet": true, "attributes": [ + { + "name": "System.ObsoleteAttribute", + "constructorArguments": [ + "Use GetFiles() and dispose the returned collection when the files are no longer needed." + ] + }, { "name": "Aspire.Hosting.AspireExportIgnoreAttribute", "arguments": { @@ -17339,9 +18364,24 @@ "kind": "text", "text": " input. Populated after the user selects file(s) and the interaction completes. " } + ], + "remarks": [ + { + "kind": "text", + "text": " This property does not provide ownership of the uploaded files. Use " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.InteractionInput.GetFiles" + }, + { + "kind": "text", + "text": " and dispose the returned collection when the files are no longer needed. " + } ] }, - "sourceFile": "src/Aspire.Hosting/IInteractionService.cs" + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", + "sourceLines": "513-513" }, { "name": "InputType", @@ -17563,7 +18603,7 @@ } ], "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "490-490", + "sourceLines": "669-669", "members": [ { "name": ".ctor", @@ -17602,7 +18642,7 @@ } }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "499-516" + "sourceLines": "678-695" }, { "name": "this[]", @@ -17722,7 +18762,7 @@ } }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "566-566" + "sourceLines": "745-745" }, { "name": "GetBoolean", @@ -17803,7 +18843,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "588-588" + "sourceLines": "767-767" }, { "name": "GetDouble", @@ -17901,7 +18941,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "618-618" + "sourceLines": "797-797" }, { "name": "GetEnumerator", @@ -17924,7 +18964,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "640-640" + "sourceLines": "819-819" }, { "name": "GetInt32", @@ -18040,7 +19080,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "605-605" + "sourceLines": "784-784" }, { "name": "GetString", @@ -18086,7 +19126,7 @@ } }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "576-576" + "sourceLines": "755-755" }, { "name": "ToArray", @@ -18120,7 +19160,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "628-628" + "sourceLines": "807-807" }, { "name": "TryGetByName", @@ -18169,7 +19209,7 @@ } }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "556-556" + "sourceLines": "735-735" }, { "name": "Count", @@ -18187,7 +19227,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "546-546" + "sourceLines": "725-725" }, { "name": "Names", @@ -18205,7 +19245,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "634-634" + "sourceLines": "813-813" } ] }, @@ -18232,7 +19272,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "869-869", + "sourceLines": "1092-1092", "members": [ { "name": ".ctor", @@ -18370,7 +19410,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "903-903", + "sourceLines": "1126-1126", "members": [ { "name": "Cancel", @@ -18463,7 +19503,7 @@ } }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "928-928" + "sourceLines": "1151-1151" }, { "name": "Ok", @@ -18530,7 +19570,7 @@ } }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "913-913" + "sourceLines": "1136-1136" } ] }, @@ -18555,7 +19595,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "903-903", + "sourceLines": "1126-1126", "members": [ { "name": "Canceled", @@ -18610,8 +19650,89 @@ ] }, "sourceFile": "src/Aspire.Hosting/IProjectMetadata.cs", - "sourceLines": "14-14", + "sourceLines": "16-16", "members": [ + { + "name": "BuildEnvironment", + "kind": "property", + "accessibility": "public", + "signature": "public virtual IReadOnlyDictionary IProjectMetadata.BuildEnvironment", + "returnType": "System.Collections.Generic.IReadOnlyDictionary", + "isVirtual": true, + "hasGet": true, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREEXTENSION001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the resolved environment variables that affected an externally produced build. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " IDE launchers use these values when evaluating build properties such as " + }, + { + "kind": "code", + "text": "TargetPath" + }, + { + "kind": "text", + "text": ". These values are not a secret transport and can appear in build diagnostics and IDE launch metadata. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/IProjectMetadata.cs", + "sourceLines": "44-44" + }, + { + "name": "BuildWorkingDirectory", + "kind": "property", + "accessibility": "public", + "signature": "public virtual string? IProjectMetadata.BuildWorkingDirectory", + "returnType": "string?", + "isReturnNullable": true, + "isVirtual": true, + "hasGet": true, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREEXTENSION001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the working directory used by an externally produced build. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " IDE launchers use this directory to select the same .NET SDK and repository configuration as the external build. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/IProjectMetadata.cs", + "sourceLines": "54-54" + }, { "name": "IsFileBasedApp", "kind": "property", @@ -18629,7 +19750,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IProjectMetadata.cs", - "sourceLines": "37-37" + "sourceLines": "59-59" }, { "name": "LaunchSettings", @@ -18649,7 +19770,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IProjectMetadata.cs", - "sourceLines": "24-24" + "sourceLines": "26-26" }, { "name": "ProjectPath", @@ -18685,7 +19806,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IProjectMetadata.cs", - "sourceLines": "32-32" + "sourceLines": "34-34" } ] }, @@ -19504,7 +20625,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "255-255", + "sourceLines": "318-318", "members": [ { "name": ".ctor", @@ -19796,7 +20917,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "763-763", + "sourceLines": "942-942", "members": [ { "name": ".ctor", @@ -20035,7 +21156,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "776-776", + "sourceLines": "955-955", "members": [ { "name": ".ctor", @@ -20343,7 +21464,7 @@ } }, "sourceFile": "src/Aspire.Hosting/OtlpConfigurationExtensions.cs", - "sourceLines": "138-142" + "sourceLines": "217-221" }, { "name": "WithOtlpExporter", @@ -20463,7 +21584,95 @@ } }, "sourceFile": "src/Aspire.Hosting/OtlpConfigurationExtensions.cs", - "sourceLines": "175-179" + "sourceLines": "254-258" + }, + { + "name": "WithOtlpExporterIfEndpointAvailable", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder OtlpConfigurationExtensions.WithOtlpExporterIfEndpointAvailable(this IResourceBuilder builder, OtlpProtocol protocol)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "protocol", + "type": "Aspire.Hosting.OtlpProtocol" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Optional OTLP exporter registration is currently used by C# hosting integrations only." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures OTLP export only when the required collector endpoint is available. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The exporter annotation is retained when no endpoint is available, but OTLP environment variables are omitted so workloads that can operate without telemetry remain runnable. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The resource builder." + } + ], + "protocol": [ + { + "kind": "text", + "text": "The required OTLP protocol." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The resource type." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/OtlpConfigurationExtensions.cs", + "sourceLines": "70-79" } ] }, @@ -20517,7 +21726,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/Orchestrator/ParameterProcessor.cs", - "sourceLines": "18-18", + "sourceLines": "19-19", "members": [ { "name": ".ctor", @@ -20564,7 +21773,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/Orchestrator/ParameterProcessor.cs", - "sourceLines": "18-32" + "sourceLines": "19-33" }, { "name": "DeleteParameterAsync", @@ -20612,7 +21821,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Orchestrator/ParameterProcessor.cs", - "sourceLines": "368-399" + "sourceLines": "379-410" }, { "name": "InitializeParametersAsync", @@ -20767,7 +21976,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Orchestrator/ParameterProcessor.cs", - "sourceLines": "323-358" + "sourceLines": "334-369" } ] }, @@ -22107,7 +23316,7 @@ } ], "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "826-826", + "sourceLines": "1005-1005", "members": [ { "name": ".ctor", @@ -22172,7 +23381,7 @@ } ], "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", - "sourceLines": "800-800", + "sourceLines": "979-979", "members": [ { "name": ".ctor", @@ -22275,7 +23484,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "24-24", + "sourceLines": "25-25", "members": [ { "name": "AddCSharpApp", @@ -22396,7 +23605,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "353-357" + "sourceLines": "354-358" }, { "name": "AddCSharpApp", @@ -22527,7 +23736,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "405-439" + "sourceLines": "406-440" }, { "name": "AddProject", @@ -22741,7 +23950,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "69-72" + "sourceLines": "70-73" }, { "name": "AddProject", @@ -22853,7 +24062,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "103-107" + "sourceLines": "104-108" }, { "name": "AddProject", @@ -23069,7 +24278,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "175-182" + "sourceLines": "176-183" }, { "name": "AddProject", @@ -23200,7 +24409,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "214-222" + "sourceLines": "215-223" }, { "name": "AddProject", @@ -23407,7 +24616,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "265-277" + "sourceLines": "266-278" }, { "name": "AddProject", @@ -23529,7 +24738,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "308-322" + "sourceLines": "309-323" }, { "name": "DisableForwardedHeaders", @@ -23627,7 +24836,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "923-926" + "sourceLines": "962-965" }, { "name": "PublishAsDockerFile", @@ -23745,7 +24954,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "969-1016" + "sourceLines": "1008-1055" }, { "name": "WithEndpointsInEnvironment", @@ -23811,7 +25020,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "941-946" + "sourceLines": "980-985" }, { "name": "WithProjectDefaults", @@ -23909,6 +25118,56 @@ } ] }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " For TLS-enabled endpoints, an available HTTPS certificate is mapped to Kestrel's default certificate unless the resource environment already contains " + }, + { + "kind": "code", + "text": "Kestrel__Certificates__Default__Path" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "Kestrel__Certificates__Default__KeyPath" + }, + { + "kind": "text", + "text": ", or " + }, + { + "kind": "code", + "text": "Kestrel__Certificates__Default__Subject" + }, + { + "kind": "text", + "text": ". These names are matched case-insensitively. The presence of any of them preserves the existing certificate configuration, including its password. Settings supplied by earlier HTTPS certificate callbacks participate in this check. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " A password alone does not suppress the default PFX configuration. It is replaced by the selected certificate's password, or removed when that certificate has no password. Certificate settings loaded separately by the resource application, such as from " + }, + { + "kind": "code", + "text": "appsettings.json" + }, + { + "kind": "text", + "text": ", are not checked. " + } + ] + }, { "kind": "para", "children": [ @@ -24001,7 +25260,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "483-851" + "sourceLines": "497-890" }, { "name": "WithReplicas", @@ -24101,7 +25360,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs", - "sourceLines": "886-889" + "sourceLines": "925-928" } ] }, @@ -24481,7 +25740,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "31-31", + "sourceLines": "33-33", "members": [ { "name": "AsHttp2Service", @@ -24550,7 +25809,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1923-1925" + "sourceLines": "1985-1987" }, { "name": "ClearContainerFilesSources", @@ -24611,7 +25870,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2311-2318" + "sourceLines": "2373-2380" }, { "name": "ExcludeFromManifest", @@ -24680,7 +25939,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2331-2333" + "sourceLines": "2393-2395" }, { "name": "ExcludeFromMcp", @@ -24749,7 +26008,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "5062-5064" + "sourceLines": "5224-5226" }, { "name": "GetConnectionProperty", @@ -24810,7 +26069,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1171-1180" + "sourceLines": "1233-1242" }, { "name": "GetEndpoint", @@ -24940,7 +26199,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1891-1893" + "sourceLines": "1953-1955" }, { "name": "GetEndpoint", @@ -25051,7 +26310,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1908-1910" + "sourceLines": "1970-1972" }, { "name": "PublishWithContainerFiles", @@ -25140,7 +26399,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2263-2276" + "sourceLines": "2325-2338" }, { "name": "SubscribeHttpsEndpointsUpdate", @@ -25297,7 +26556,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4322-4359" + "sourceLines": "4384-4421" }, { "name": "WaitFor", @@ -25441,7 +26700,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2366-2369" + "sourceLines": "2428-2431" }, { "name": "WaitFor", @@ -25653,7 +26912,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2426-2429" + "sourceLines": "2488-2491" }, { "name": "WaitForCompletion", @@ -25779,7 +27038,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2657-2672" + "sourceLines": "2719-2734" }, { "name": "WaitForStart", @@ -25898,7 +27157,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2491-2494" + "sourceLines": "2553-2556" }, { "name": "WaitForStart", @@ -26085,7 +27344,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2549-2552" + "sourceLines": "2611-2614" }, { "name": "WithArgs", @@ -26557,7 +27816,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "3991-4011" + "sourceLines": "4053-4073" }, { "name": "WithCertificateTrustConfiguration", @@ -26660,7 +27919,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4147-4150" + "sourceLines": "4209-4212" }, { "name": "WithCertificateTrustScope", @@ -26787,7 +28046,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4100-4113" + "sourceLines": "4162-4175" }, { "name": "WithChildRelationship", @@ -27188,7 +28447,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2919-2935" + "sourceLines": "2981-2997" }, { "name": "WithCommand", @@ -27436,7 +28695,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2989-3001" + "sourceLines": "3051-3063" }, { "name": "WithComputeEnvironment", @@ -27513,7 +28772,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4756-4760" + "sourceLines": "4818-4822" }, { "name": "WithConnectionProperty", @@ -27773,7 +29032,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "796-800" + "sourceLines": "797-801" }, { "name": "WithContainerFilesSource", @@ -27844,7 +29103,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2292-2298" + "sourceLines": "2354-2360" }, { "name": "WithDebugSupport", @@ -27901,21 +29160,29 @@ "summary": [ { "kind": "text", - "text": " Adds support for debugging the resource in VS Code when running in an extension host. " + "text": " Adds support for debugging the resource in an IDE or extension host. " } ], "remarks": [ { "kind": "text", - "text": " Aspire invokes the launch configuration producer while preparing and creating the underlying orchestrator objects, and may invoke it several times for the same resource. Use " + "text": " Registering debug support is synchronous. Aspire invokes " + }, + { + "kind": "paramref", + "value": "launchConfigurationProducer" + }, + { + "kind": "text", + "text": " later only for executable creations where this debug-support annotation is active, including restarts and replicas. The callback does not run for unsupported debug sessions, publish mode, or inactive annotations superseded by a later " }, { "kind": "cref", - "value": "M:Aspire.Hosting.ResourceBuilderExtensions.WithDebugSupport``2(Aspire.Hosting.ApplicationModel.IResourceBuilder{``0},System.Func{System.String,System.Threading.CancellationToken,System.Threading.Tasks.Task{``1}},System.String)" + "value": "T:Aspire.Hosting.ApplicationModel.SupportsDebuggingAnnotation" }, { "kind": "text", - "text": " when the configuration has to be resolved from work that is itself asynchronous, for example in the presence of build-argument callbacks contributed by other annotations. " + "text": ". " } ], "returns": [ @@ -27942,21 +29209,13 @@ "launchConfigurationProducer": [ { "kind": "text", - "text": "Launch configuration producer for the resource. It is passed the launch mode (one of the values on " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.ExecutableLaunchMode" - }, - { - "kind": "text", - "text": ") and produces the configuration that is handed to the IDE." + "text": "A callback that receives the launch mode and produces the complete launch configuration handed to the IDE." } ], "launchConfigurationType": [ { "kind": "text", - "text": "The type tag of the launch configuration (as sent to the IDE)." + "text": "The type tag of the launch configuration sent to the IDE." } ] }, @@ -28008,23 +29267,7 @@ }, { "kind": "text", - "text": ", which means an asynchronous producer was written without the " - }, - { - "kind": "cref", - "value": "T:System.Threading.CancellationToken" - }, - { - "kind": "text", - "text": " parameter and bound to this overload. Use " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.ResourceBuilderExtensions.WithDebugSupport``2(Aspire.Hosting.ApplicationModel.IResourceBuilder{``0},System.Func{System.String,System.Threading.CancellationToken,System.Threading.Tasks.Task{``1}},System.String)" - }, - { - "kind": "text", - "text": " instead. " + "text": ". Use an asynchronous overload instead so the task result, rather than the task itself, becomes the launch configuration. " } ] } @@ -28087,21 +29330,13 @@ "summary": [ { "kind": "text", - "text": " Adds support for debugging the resource in VS Code when running in an extension host, using a launch configuration that is produced asynchronously. " + "text": " Adds support for asynchronously producing an IDE launch configuration for the resource. " } ], "remarks": [ { "kind": "text", - "text": " Use this overload when the launch configuration has to be resolved from work that is itself asynchronous, for example in the presence of build-argument callbacks contributed by other annotations. Aspire invokes the producer while preparing and creating the underlying orchestrator objects, and may invoke it several times for the same resource. A producer that computes everything synchronously should use " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.ResourceBuilderExtensions.WithDebugSupport``2(Aspire.Hosting.ApplicationModel.IResourceBuilder{``0},System.Func{System.String,``1},System.String)" - }, - { - "kind": "text", - "text": " instead. " + "text": " Use this overload when producing the launch configuration requires asynchronous work. Aspire invokes the producer after resolving the execution configuration and may invoke it several times for the same resource. " } ], "returns": [ @@ -28128,21 +29363,160 @@ "launchConfigurationProducer": [ { "kind": "text", - "text": "Launch configuration producer for the resource. It is passed the launch mode (one of the values on " + "text": "A callback that receives the launch mode and cancellation token." + } + ], + "launchConfigurationType": [ + { + "kind": "text", + "text": "The type tag of the launch configuration sent to the IDE." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The resource type." + } + ], + "TLaunchConfiguration": [ + { + "kind": "text", + "text": "The launch configuration type produced for the resource, typically derived from " }, { "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.ExecutableLaunchMode" + "value": "T:Aspire.Hosting.ApplicationModel.ExecutableLaunchConfiguration" }, { "kind": "text", - "text": ") and produces the configuration that is handed to the IDE." + "text": "." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs" + }, + { + "name": "WithDebugSupport", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder ResourceBuilderExtensions.WithDebugSupport(this IResourceBuilder builder, Func> launchConfigurationProducer, string launchConfigurationType)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "launchConfigurationProducer", + "type": "System.Func>" + }, + { + "name": "launchConfigurationType", + "type": "string" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IResource" + ] + }, + { + "name": "TLaunchConfiguration" + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREEXTENSION001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + }, + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Generic debug launch configuration support is not part of the ATS surface." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds support for producing an IDE launch configuration from the resolved executable environment. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Aspire invokes " + }, + { + "kind": "paramref", + "value": "launchConfigurationProducer" + }, + { + "kind": "text", + "text": " after resolving the execution configuration for each executable creation. A producer that completes synchronously should return its result with " + }, + { + "kind": "cref", + "value": "M:System.Threading.Tasks.Task.FromResult``1(``0)" + }, + { + "kind": "text", + "text": ". Process execution does not generally require a producer, but Aspire can still invoke a supported non-" + }, + { + "kind": "code", + "text": "project" + }, + { + "kind": "text", + "text": " producer for a process executable so it can contribute launch metadata. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The resource builder." + } + ], + "launchConfigurationProducer": [ + { + "kind": "text", + "text": " A callback that receives the resolved environment variables and asynchronously produces the complete launch configuration handed to the IDE. " } ], "launchConfigurationType": [ { "kind": "text", - "text": "The type of the resource." + "text": "The type tag of the launch configuration sent to the IDE." } ] }, @@ -28167,7 +29541,19 @@ "text": "." } ] - } + }, + "examples": [ + { + "code": "\n internal sealed class MyToolLaunchConfiguration() : ExecutableLaunchConfiguration(\"mytool\")\n {\n public string? TargetDirectory { get; set; }\n }\n \n builder.AddExecutable(\"tool\", \"mytool\", \".\")\n .WithDebugSupport(\n context =>\n {\n context.EnvironmentVariables.TryGetValue(\"MYTOOL_TARGET_DIR\", out var targetDirectory);\n return Task.FromResult(new MyToolLaunchConfiguration\n {\n Mode = context.Mode,\n TargetDirectory = targetDirectory\n });\n },\n launchConfigurationType: \"mytool\");\n ", + "language": "csharp", + "description": [ + { + "kind": "text", + "text": "Produce a launch configuration using a resolved environment variable:" + } + ] + } + ] }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs" }, @@ -28269,7 +29655,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4049-4062" + "sourceLines": "4111-4124" }, { "name": "WithEndpoint", @@ -28418,7 +29804,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1463-1491" + "sourceLines": "1525-1553" }, { "name": "WithEndpoint", @@ -29332,7 +30718,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1692-1692" + "sourceLines": "1754-1754" }, { "name": "WithEnvironment", @@ -29736,7 +31122,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "351-355" + "sourceLines": "352-356" }, { "name": "WithEnvironment", @@ -29998,7 +31384,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "403-412" + "sourceLines": "404-413" }, { "name": "WithEnvironment", @@ -30104,7 +31490,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "428-455" + "sourceLines": "429-456" }, { "name": "WithEnvironment", @@ -30204,7 +31590,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "469-478" + "sourceLines": "470-479" }, { "name": "WithEnvironment", @@ -30296,7 +31682,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "496-505" + "sourceLines": "497-506" }, { "name": "WithEnvironment", @@ -30640,7 +32026,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2623-2623" + "sourceLines": "2685-2685" }, { "name": "WithExternalHttpEndpoints", @@ -30709,7 +32095,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1860-1875" + "sourceLines": "1922-1937" }, { "name": "WithHealthCheck", @@ -30840,7 +32226,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2717-2727" + "sourceLines": "2779-2789" }, { "name": "WithHidden", @@ -30931,7 +32317,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "5082-5084" + "sourceLines": "5244-5246" }, { "name": "WithHiddenOnCompletion", @@ -31035,7 +32421,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "5102-5104" + "sourceLines": "5264-5266" }, { "name": "WithHiddenOnCompletion", @@ -31148,7 +32534,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "5147-5150" + "sourceLines": "5309-5312" }, { "name": "WithHttpCommand", @@ -31561,7 +32947,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "3603-3610" + "sourceLines": "3665-3672" }, { "name": "WithHttpCommand", @@ -31929,7 +33315,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "3681-3775" + "sourceLines": "3743-3837" }, { "name": "WithHttpEndpoint", @@ -32379,7 +33765,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2764-2770" + "sourceLines": "2826-2832" }, { "name": "WithHttpHealthCheck", @@ -32517,7 +33903,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2806-2850" + "sourceLines": "2868-2912" }, { "name": "WithHttpProbe", @@ -32731,7 +34117,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4953-4959" + "sourceLines": "5115-5121" }, { "name": "WithHttpProbe", @@ -32944,7 +34330,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "5013-5030" + "sourceLines": "5175-5192" }, { "name": "WithHttpsCertificate", @@ -33092,7 +34478,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4213-4221" + "sourceLines": "4275-4283" }, { "name": "WithHttpsCertificateConfiguration", @@ -33184,7 +34570,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4282-4287" + "sourceLines": "4344-4349" }, { "name": "WithHttpsDeveloperCertificate", @@ -33292,7 +34678,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4177-4185" + "sourceLines": "4239-4247" }, { "name": "WithHttpsEndpoint", @@ -33745,7 +35131,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "2885-2887" + "sourceLines": "2947-2949" }, { "name": "WithIconName", @@ -33865,7 +35251,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4736-4739" + "sourceLines": "4798-4801" }, { "name": "WithImagePushOptions", @@ -34464,14 +35850,13 @@ ] } }, - "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4817-4832" + "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs" }, { - "name": "WithLifetimeOf", + "name": "WithLaunchToolArgs", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder ResourceBuilderExtensions.WithLifetimeOf(this IResourceBuilder builder, IResourceBuilder sourceBuilder)", + "signature": "public static IResourceBuilder ResourceBuilderExtensions.WithLaunchToolArgs(this IResourceBuilder builder, Func callback, string? ownedByLaunchConfigurationType = null, bool showInCommandLine = true)", "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, @@ -34482,21 +35867,27 @@ "modifier": "this" }, { - "name": "sourceBuilder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + "name": "callback", + "type": "System.Func" + }, + { + "name": "ownedByLaunchConfigurationType", + "type": "string?", + "isNullable": true, + "isOptional": true + }, + { + "name": "showInCommandLine", + "type": "bool", + "isOptional": true, + "defaultValue": "True" } ], "genericParameters": [ { "name": "T", "constraints": [ - "Aspire.Hosting.ApplicationModel.IResource" - ] - }, - { - "name": "TSource", - "constraints": [ - "Aspire.Hosting.ApplicationModel.IResource" + "Aspire.Hosting.ApplicationModel.IResourceWithArgs" ] } ], @@ -34504,41 +35895,36 @@ { "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", "constructorArguments": [ - "ASPIREPERSISTENCE001" + "ASPIREEXTENSION001" ], "arguments": { "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" } }, { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Generic launch tool argument support is not part of the ATS surface." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures a resource to match the lifetime of another resource. " + "text": " Asynchronously declares the resource's launch tool arguments. " } ], "remarks": [ { "kind": "text", - "text": " The resource lifetime is evaluated from " - }, - { - "kind": "paramref", - "value": "sourceBuilder" - }, - { - "kind": "text", - "text": " when the application model is prepared, so later lifetime changes to the source resource are reflected by this resource. " + "text": " The ordering, IDE ownership, visibility, and replacement behavior is the same as the synchronous overload. " } ], "returns": [ { "kind": "text", - "text": "The " + "text": "A reference to the " }, { "kind": "cref", @@ -34556,47 +35942,93 @@ "text": "The resource builder." } ], - "sourceBuilder": [ + "callback": [ { "kind": "text", - "text": "The resource builder whose lifetime should be used." + "text": " Callback that produces the launch tool arguments. It is invoked with an empty " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext.Args" + }, + { + "kind": "text", + "text": " list. " } - ] - }, - "typeParameters": { - "T": [ + ], + "ownedByLaunchConfigurationType": [ { "kind": "text", - "text": "The resource type." + "text": " The debug launch configuration type that performs this tool invocation, or " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": " when the prefix is always passed to the launched program. " } ], - "TSource": [ + "showInCommandLine": [ { "kind": "text", - "text": "The source resource type." + "text": "Whether these arguments appear in the dashboard command line." } ] }, "exceptions": [ { - "type": "T:System.InvalidOperationException", + "type": "T:System.ArgumentNullException", "description": [ { "kind": "text", - "text": "Thrown when the resource does not support lifetime configuration." + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "paramref", + "value": "callback" + }, + { + "kind": "text", + "text": " is null. " + } + ] + }, + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "text", + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "ownedByLaunchConfigurationType" + }, + { + "kind": "text", + "text": " is empty. " } ] } ] }, - "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "121-135" + "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs" }, { - "name": "WithManifestPublishingCallback", + "name": "WithLifetimeOf", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder ResourceBuilderExtensions.WithManifestPublishingCallback(this IResourceBuilder builder, Action callback)", + "signature": "public static IResourceBuilder ResourceBuilderExtensions.WithLifetimeOf(this IResourceBuilder builder, IResourceBuilder sourceBuilder)", "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, @@ -34607,8 +36039,8 @@ "modifier": "this" }, { - "name": "callback", - "type": "System.Action" + "name": "sourceBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" } ], "genericParameters": [ @@ -34617,27 +36049,152 @@ "constraints": [ "Aspire.Hosting.ApplicationModel.IResource" ] + }, + { + "name": "TSource", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IResource" + ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREPERSISTENCE001" + ], "arguments": { - "Reason": "ManifestPublishingContext exposes Utf8JsonWriter and DistributedApplicationExecutionContext — .NET runtime types not usable from polyglot hosts." + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" } + }, + { + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Registers a callback which is invoked when manifest is generated for the app model. " + "text": " Configures a resource to match the lifetime of another resource. " } ], "remarks": [ { "kind": "text", - "text": "This method is not available in polyglot AppHosts." + "text": " The resource lifetime is evaluated from " + }, + { + "kind": "paramref", + "value": "sourceBuilder" + }, + { + "kind": "text", + "text": " when the application model is prepared, so later lifetime changes to the source resource are reflected by this resource. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The resource builder." + } + ], + "sourceBuilder": [ + { + "kind": "text", + "text": "The resource builder whose lifetime should be used." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The resource type." + } + ], + "TSource": [ + { + "kind": "text", + "text": "The source resource type." + } + ] + }, + "exceptions": [ + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": "Thrown when the resource does not support lifetime configuration." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", + "sourceLines": "122-136" + }, + { + "name": "WithManifestPublishingCallback", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder ResourceBuilderExtensions.WithManifestPublishingCallback(this IResourceBuilder builder, Action callback)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "callback", + "type": "System.Action" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IResource" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "ManifestPublishingContext exposes Utf8JsonWriter and DistributedApplicationExecutionContext — .NET runtime types not usable from polyglot hosts." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Registers a callback which is invoked when manifest is generated for the app model. " + } + ], + "remarks": [ + { + "kind": "text", + "text": "This method is not available in polyglot AppHosts." } ], "returns": [ @@ -34870,7 +36427,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4245-4253" + "sourceLines": "4307-4315" }, { "name": "WithParentProcessLifetime", @@ -35018,7 +36575,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "169-187" + "sourceLines": "170-188" }, { "name": "WithParentRelationship", @@ -35364,7 +36921,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "96-98" + "sourceLines": "97-99" }, { "name": "WithProcessCommand", @@ -35533,7 +37090,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "3064-3074" + "sourceLines": "3126-3136" }, { "name": "WithProcessCommand", @@ -36028,7 +37585,39 @@ "summary": [ { "kind": "text", - "text": " Injects a connection string as an environment variable from the source resource into the destination resource, using the source resource's name as the connection string name (if not overridden). The format of the environment variable will be \"ConnectionStrings__{sourceResourceName}={connectionString}\". " + "text": " Injects a connection string as an environment variable from the source resource into the destination resource, using the source resource's name as the connection string name (if not overridden). The logical connection name is preserved for application configuration. When the source resource does not specify " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.IResourceWithConnectionString.ConnectionStringEnvironmentVariable" + }, + { + "kind": "text", + "text": " and the logical name is not portable as an environment-variable suffix, Aspire emits both the original name and a portable alias that replaces characters unsupported in environment-variable names. For example, " + }, + { + "kind": "code", + "text": "my-db" + }, + { + "kind": "text", + "text": " produces " + }, + { + "kind": "code", + "text": "ConnectionStrings__my-db" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "ConnectionStrings__my_db" + }, + { + "kind": "text", + "text": " on targets that support both names. " }, { "kind": "para", @@ -36081,7 +37670,23 @@ "connectionName": [ { "kind": "text", - "text": "An override of the source resource's name for the connection string. The resulting connection string will be \"ConnectionStrings__connectionName\" if this is not null." + "text": " An override of the source resource's logical connection name. The physical environment-variable names are derived from this value when it is not " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": ", unless the source resource specifies " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.IResourceWithConnectionString.ConnectionStringEnvironmentVariable" + }, + { + "kind": "text", + "text": ", in which case that explicit physical name is preserved. " } ], "optional": [ @@ -36130,7 +37735,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1109-1147" + "sourceLines": "1116-1171" }, { "name": "WithReference", @@ -36287,7 +37892,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1206-1210" + "sourceLines": "1268-1272" }, { "name": "WithReference", @@ -36454,7 +38059,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1238-1242" + "sourceLines": "1300-1304" }, { "name": "WithReference", @@ -36546,7 +38151,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1259-1292" + "sourceLines": "1321-1354" }, { "name": "WithReference", @@ -36628,7 +38233,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1307-1367" + "sourceLines": "1369-1429" }, { "name": "WithReference", @@ -36718,7 +38323,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "1383-1387" + "sourceLines": "1445-1449" }, { "name": "WithReferenceEnvironment", @@ -36806,7 +38411,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "882-884" + "sourceLines": "883-885" }, { "name": "WithReferenceRelationship", @@ -36894,7 +38499,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4483-4486" + "sourceLines": "4545-4548" }, { "name": "WithReferenceRelationship", @@ -36982,7 +38587,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4502-4507" + "sourceLines": "4564-4569" }, { "name": "WithReferenceRelationship", @@ -37070,7 +38675,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4563-4566" + "sourceLines": "4625-4628" }, { "name": "WithRelationship", @@ -37207,7 +38812,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4443-4447" + "sourceLines": "4505-4509" }, { "name": "WithRelationship", @@ -37294,7 +38899,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "4464-4467" + "sourceLines": "4526-4529" }, { "name": "WithRemoteImageName", @@ -37451,7 +39056,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "5268-5274" + "sourceLines": "5430-5436" }, { "name": "WithRemoteImageTag", @@ -37608,7 +39213,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "5308-5314" + "sourceLines": "5470-5476" }, { "name": "WithSessionLifetime", @@ -37708,7 +39313,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ResourceBuilderExtensions.cs", - "sourceLines": "64-66" + "sourceLines": "65-67" }, { "name": "WithUrl", @@ -38834,6 +40439,181 @@ } ] }, + { + "name": "TerminalContext", + "fullName": "Aspire.Hosting.TerminalContext", + "namespace": "Aspire.Hosting", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Provides cancellation to the work callback of a terminal interaction. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRETERMINAL001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", + "sourceLines": "1046-1046", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public TerminalContext.TerminalContext()", + "returnType": "void" + }, + { + "name": "CancellationToken", + "kind": "property", + "accessibility": "public", + "signature": "public CancellationToken TerminalContext.CancellationToken", + "returnType": "System.Threading.CancellationToken", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the token signaled when the user requests cancellation or the interaction is externally canceled. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Observe this token in automation calls and other asynchronous work. Cancellation does not stop the terminal; its caller remains responsible for disposing it when no longer needed. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs" + } + ] + }, + { + "name": "TerminalInteractionOptions", + "fullName": "Aspire.Hosting.TerminalInteractionOptions", + "namespace": "Aspire.Hosting", + "kind": "class", + "accessibility": "public", + "baseType": "Aspire.Hosting.InteractionOptions", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Options for displaying a caller-owned terminal in an interaction dialog. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Set " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.InteractionOptions.PrimaryButtonText" + }, + { + "kind": "text", + "text": " to show a cancel button; by default there is no button. Secondary and dismiss buttons are not shown. The terminal's lifetime is independent of these options. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRETERMINAL001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs", + "sourceLines": "1022-1022", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public TerminalInteractionOptions.TerminalInteractionOptions()", + "returnType": "void" + }, + { + "name": "Title", + "kind": "property", + "accessibility": "public", + "signature": "public string? TerminalInteractionOptions.Title", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the optional dialog title. No title is displayed by default. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs" + }, + { + "name": "Work", + "kind": "property", + "accessibility": "public", + "signature": "public Func? TerminalInteractionOptions.Work", + "returnType": "System.Func?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets optional asynchronous work to run while the terminal dialog is displayed. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Successful completion closes the dialog. User or external cancellation signals " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.TerminalContext.CancellationToken" + }, + { + "kind": "text", + "text": " and the prompt waits for the callback to finish. Exceptions propagate from " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.IInteractionService.PromptTerminalAsync(System.String,Aspire.Hosting.ApplicationModel.AspireTerminal,Aspire.Hosting.TerminalInteractionOptions,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": " after the dialog is removed. Without work, the dialog waits for explicit completion or cancellation, not for terminal process exit. Neither work completion nor cancellation disposes the caller-owned terminal. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/IInteractionService.cs" + } + ] + }, { "name": "TerminalResourceBuilderExtensions", "fullName": "Aspire.Hosting.TerminalResourceBuilderExtensions", @@ -38850,7 +40630,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/TerminalResourceBuilderExtensions.cs", - "sourceLines": "19-19", + "sourceLines": "22-22", "members": [ { "name": "WithTerminal", @@ -39065,7 +40845,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/TerminalResourceBuilderExtensions.cs", - "sourceLines": "70-110" + "sourceLines": "71-110" } ] }, @@ -39174,6 +40954,177 @@ } ] }, + { + "name": "VolumeResourceBuilderExtensions", + "fullName": "Aspire.Hosting.VolumeResourceBuilderExtensions", + "namespace": "Aspire.Hosting", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Provides extension methods for adding volume-backed storage to compute resources. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/VolumeResourceBuilderExtensions.cs", + "sourceLines": "11-11", + "members": [ + { + "name": "WithVolume", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder VolumeResourceBuilderExtensions.WithVolume(this IResourceBuilder builder, string name, string target, string env, bool isReadOnly = false)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "target", + "type": "string" + }, + { + "name": "env", + "type": "string" + }, + { + "name": "isReadOnly", + "type": "bool", + "isOptional": true, + "defaultValue": "False" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IComputeResource", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Polyglot export is via CoreExports.WithVolume which reorders parameters." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds a volume to a compute resource and exposes its effective path through an environment variable. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Containers receive " + }, + { + "kind": "paramref", + "value": "target" + }, + { + "kind": "text", + "text": " in run and publish modes. Projects and executables receive a workload-scoped " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IAspireStore" + }, + { + "kind": "text", + "text": " directory in run mode and " + }, + { + "kind": "paramref", + "value": "target" + }, + { + "kind": "text", + "text": " in publish mode. Named storage is independent of the resource lifetime. Session resources stop with the AppHost and reuse their named storage on the next run; persistent resources can keep the compute instance alive and continue using the same storage. Cleaning the AppHost store can remove local project and executable data. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The resource builder." + } + ], + "env": [ + { + "kind": "text", + "text": "The environment variable that receives the effective volume path." + } + ], + "isReadOnly": [ + { + "kind": "text", + "text": "A flag that indicates if the published volume should be mounted as read-only." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the volume." + } + ], + "target": [ + { + "kind": "text", + "text": "The target path where the volume is mounted after publishing." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The resource type." + } + ] + }, + "examples": [ + { + "code": "\n builder.AddProject(\"api\")\n .WithVolume(\"data\", \"/usr/data\", env: \"DATA_PATH\");\n ", + "language": "csharp" + } + ] + }, + "sourceFile": "src/Aspire.Hosting/VolumeResourceBuilderExtensions.cs", + "sourceLines": "47-52" + } + ] + }, { "name": "AfterEndpointsAllocatedEvent", "fullName": "Aspire.Hosting.ApplicationModel.AfterEndpointsAllocatedEvent", @@ -40370,357 +42321,3122 @@ ] }, { - "name": "BeforeResourceStartedEvent", - "fullName": "Aspire.Hosting.ApplicationModel.BeforeResourceStartedEvent", + "name": "AspireTerminal", + "fullName": "Aspire.Hosting.ApplicationModel.AspireTerminal", "namespace": "Aspire.Hosting.ApplicationModel", "kind": "class", "accessibility": "public", + "isSealed": true, "interfaces": [ - "Aspire.Hosting.Eventing.IDistributedApplicationEvent", - "Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent" + "System.IAsyncDisposable" ], "docs": { "summary": [ { "kind": "text", - "text": " This event is raised by orchestrators before they have started a new resource. " + "text": " An Aspire-owned terminal handle for dashboard interaction and automation from AppHost code. " } ], "remarks": [ { - "kind": "text", - "text": " Resources that are created by orchestrators may not yet be ready to handle requests. " + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Obtain a handle from " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.ApplicationModel.TerminalService.CreateTerminal(Aspire.Hosting.ApplicationModel.TerminalLaunchOptions)" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.ApplicationModel.TerminalService.TryGetTerminal(System.String,Aspire.Hosting.ApplicationModel.AspireTerminal@)" + }, + { + "kind": "text", + "text": ". Handles cannot be constructed or extended by callers; Aspire manages their registration and connection to the underlying terminal implementation. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " What disposal means depends on " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.AspireTerminal.Owner" + }, + { + "kind": "text", + "text": ". For " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalOwner.AppHost" + }, + { + "kind": "text", + "text": " the AppHost owns the workload, so disposing stops it and removes the terminal from the dashboard; whoever creates such a terminal owns it and must dispose it, and showing one in an interaction does not transfer that ownership, so the terminal survives the dialog it was displayed in. For " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalOwner.Resource" + }, + { + "kind": "text", + "text": " the workload belongs to the resource, so disposing only releases Aspire's handle and leaves the workload running. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " When an AppHost-owned workload ends, its terminal remains in the dashboard until disposed, but no longer accepts input or automation. Reopening an ended terminal displays its ended state rather than replaying output. " + } + ] } - ], - "parameters": { - "resource": [ - { - "kind": "text", - "text": "The resource that is being created." - } - ], - "services": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:System.IServiceProvider" - }, - { - "kind": "text", - "text": " for the AppHost." - } - ] - } + ] }, "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute", + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRETERMINAL001" + ], "arguments": { - "ExposeProperties": "True" + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" } } ], - "sourceFile": "src/Aspire.Hosting/ApplicationModel/BeforeResourceStartedEvent.cs", - "sourceLines": "17-17", + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "31-31", "members": [ { - "name": ".ctor", - "kind": "constructor", + "name": "DisposeAsync", + "kind": "method", "accessibility": "public", - "signature": "public BeforeResourceStartedEvent.BeforeResourceStartedEvent(IResource resource, IServiceProvider services)", - "returnType": "void", - "parameters": [ - { - "name": "resource", - "type": "Aspire.Hosting.ApplicationModel.IResource" - }, - { - "name": "services", - "type": "System.IServiceProvider" - } - ], + "signature": "public ValueTask AspireTerminal.DisposeAsync()", + "returnType": "System.Threading.Tasks.ValueTask", "docs": { "summary": [ { "kind": "text", - "text": " This event is raised by orchestrators before they have started a new resource. " + "text": " Releases the handle, stopping the workload only when it is owned by the AppHost. " } ], - "remarks": [ + "returns": [ { "kind": "text", - "text": " Resources that are created by orchestrators may not yet be ready to handle requests. " + "text": "A task representing the terminal cleanup operation." } - ], - "parameters": { - "resource": [ - { - "kind": "text", - "text": "The resource that is being created." - } - ], - "services": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:System.IServiceProvider" - }, - { - "kind": "text", - "text": " for the AppHost." - } - ] - } + ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/BeforeResourceStartedEvent.cs", - "sourceLines": "17-23" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "148-148" }, { - "name": "Resource", - "kind": "property", + "name": "GetScreenText", + "kind": "method", "accessibility": "public", - "signature": "public IResource BeforeResourceStartedEvent.Resource", - "returnType": "Aspire.Hosting.ApplicationModel.IResource", - "hasGet": true, + "signature": "public string AspireTerminal.GetScreenText()", + "returnType": "string", "docs": { "summary": [ { "kind": "text", - "text": " Resource associated with this event. " + "text": " Gets the current contents of the terminal screen, with lines separated by newlines. " } - ] - }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/BeforeResourceStartedEvent.cs", - "sourceLines": "20-20" - }, - { - "name": "Services", - "kind": "property", - "accessibility": "public", - "signature": "public IServiceProvider BeforeResourceStartedEvent.Services", - "returnType": "System.IServiceProvider", - "hasGet": true, - "docs": { - "summary": [ + ], + "returns": [ { "kind": "text", - "text": " The " - }, - { - "kind": "cref", - "value": "T:System.IServiceProvider" - }, + "text": "The current terminal screen text." + } + ], + "exceptions": [ { - "kind": "text", - "text": " instance. " + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": "The AppHost-owned terminal has already stopped." + } + ] } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/BeforeResourceStartedEvent.cs", - "sourceLines": "23-23" - } - ] - }, - { - "name": "BeforeStartEvent", - "fullName": "Aspire.Hosting.ApplicationModel.BeforeStartEvent", - "namespace": "Aspire.Hosting.ApplicationModel", - "kind": "class", - "accessibility": "public", - "interfaces": [ - "Aspire.Hosting.Eventing.IDistributedApplicationEvent" - ], - "docs": { - "summary": [ - { - "kind": "text", - "text": " This event is published before the application starts. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " Subscribing to this event is analogous to implementing the " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.Lifecycle.IDistributedApplicationLifecycleHook.BeforeStartAsync(Aspire.Hosting.ApplicationModel.DistributedApplicationModel,System.Threading.CancellationToken)" - }, - { - "kind": "text", - "text": " method. This event provides access to the " - }, - { - "kind": "cref", - "value": "T:System.IServiceProvider" - }, - { - "kind": "text", - "text": " interface to resolve dependencies including " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.DistributedApplicationModel" - }, - { - "kind": "text", - "text": " service which is passed in as an argument in " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.Lifecycle.IDistributedApplicationLifecycleHook.BeforeStartAsync(Aspire.Hosting.ApplicationModel.DistributedApplicationModel,System.Threading.CancellationToken)" - }, - { - "kind": "text", - "text": ". " - } - ], - "parameters": { - "model": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.DistributedApplicationModel" - }, - { - "kind": "text", - "text": " instance." - } - ], - "services": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:System.IServiceProvider" - }, - { - "kind": "text", - "text": " instance." - } - ] + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "142-142" }, - "examples": [ - { - "code": "\n var builder = DistributedApplication.CreateBuilder(args);\n builder.Eventing.Subscribe(async (@event, cancellationToken) => {\n var appModel = @event.Services.GetRequiredService();\n // Mutate the distributed application model.\n });\n ", - "language": "csharp", - "description": [ - { - "kind": "text", - "text": "Subscribe to the" - }, - { - "kind": "text", - "text": "event and resolve the distributed application model." - } - ] - } - ] - }, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportAttribute", - "arguments": { - "ExposeProperties": "True" - } - } - ], - "sourceFile": "src/Aspire.Hosting/ApplicationModel/BeforeStartEvent.cs", - "sourceLines": "30-30", - "members": [ { - "name": ".ctor", - "kind": "constructor", + "name": "SendKeyAsync", + "kind": "method", "accessibility": "public", - "signature": "public BeforeStartEvent.BeforeStartEvent(IServiceProvider services, DistributedApplicationModel model)", - "returnType": "void", + "signature": "public Task AspireTerminal.SendKeyAsync(AspireTerminalKey key, CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", "parameters": [ { - "name": "services", - "type": "System.IServiceProvider" + "name": "key", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminalKey" }, { - "name": "model", - "type": "Aspire.Hosting.ApplicationModel.DistributedApplicationModel" + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true } ], "docs": { "summary": [ { "kind": "text", - "text": " This event is published before the application starts. " + "text": " Sends a single key, optionally combined with modifiers, to the terminal's workload. " } ], "remarks": [ { "kind": "text", - "text": " Subscribing to this event is analogous to implementing the " + "text": " Use the named values on " }, { "kind": "cref", - "value": "M:Aspire.Hosting.Lifecycle.IDistributedApplicationLifecycleHook.BeforeStartAsync(Aspire.Hosting.ApplicationModel.DistributedApplicationModel,System.Threading.CancellationToken)" + "value": "T:Aspire.Hosting.ApplicationModel.AspireTerminalKey" }, { "kind": "text", - "text": " method. This event provides access to the " + "text": " and combine them with " }, { "kind": "cref", - "value": "T:System.IServiceProvider" + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminalKey.Ctrl(Aspire.Hosting.ApplicationModel.AspireTerminalKey)" }, { "kind": "text", - "text": " interface to resolve dependencies including " + "text": ", " }, { "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.DistributedApplicationModel" + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminalKey.Shift(Aspire.Hosting.ApplicationModel.AspireTerminalKey)" }, { "kind": "text", - "text": " service which is passed in as an argument in " + "text": ", and " }, { "kind": "cref", - "value": "M:Aspire.Hosting.Lifecycle.IDistributedApplicationLifecycleHook.BeforeStartAsync(Aspire.Hosting.ApplicationModel.DistributedApplicationModel,System.Threading.CancellationToken)" + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminalKey.Alt(Aspire.Hosting.ApplicationModel.AspireTerminalKey)" }, { "kind": "text", - "text": ". " + "text": ". For example, " + }, + { + "kind": "code", + "text": "AspireTerminalKey.Ctrl(AspireTerminalKey.R)" + }, + { + "kind": "text", + "text": " sends Control+R. Use " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminal.SendTextAsync(System.String,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": " for arbitrary text rather than individual keys. Key encoding follows the terminal's current input mode; a key does not represent a physical key-down or key-up event. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A task representing the input operation." } ], "parameters": { - "model": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.DistributedApplicationModel" - }, + "cancellationToken": [ { "kind": "text", - "text": " instance." + "text": "Cancellation token." } ], - "services": [ + "key": [ { "kind": "text", - "text": "The " - }, - { + "text": "The key to send." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "paramref", + "value": "key" + }, + { + "kind": "text", + "text": " is an uninitialized value." + } + ] + }, + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": "The AppHost-owned terminal has already stopped." + } + ] + }, + { + "type": "T:System.OperationCanceledException", + "description": [ + { + "kind": "text", + "text": "The input operation was canceled by " + }, + { + "kind": "paramref", + "value": "cancellationToken" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "120-121" + }, + { + "name": "SendTextAsync", + "kind": "method", + "accessibility": "public", + "signature": "public Task AspireTerminal.SendTextAsync(string text, CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", + "parameters": [ + { + "name": "text", + "type": "string" + }, + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Sends text to the terminal's workload as though it had been typed. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A task representing the input operation." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "Cancellation token." + } + ], + "text": [ + { + "kind": "text", + "text": "The text to send." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "paramref", + "value": "text" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": "." + } + ] + }, + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": "The AppHost-owned terminal has already stopped." + } + ] + }, + { + "type": "T:System.OperationCanceledException", + "description": [ + { + "kind": "text", + "text": "The input operation was canceled by " + }, + { + "kind": "paramref", + "value": "cancellationToken" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "98-98" + }, + { + "name": "Show", + "kind": "method", + "accessibility": "public", + "signature": "public void AspireTerminal.Show()", + "returnType": "void", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Reveals the terminal dock in every connected dashboard and switches to this terminal's tab. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Only meaningful for " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.Dock" + }, + { + "kind": "text", + "text": " terminals. Terminals in a dialog are revealed by that dialog, so this is a no-op for them. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "86-86" + }, + { + "name": "Start", + "kind": "method", + "accessibility": "public", + "signature": "public void AspireTerminal.Start()", + "returnType": "void", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Starts the terminal's workload if it is not already running. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Starting is the caller's decision, not the dashboard's and not the interaction service's. Call this to have the workload running before anyone is looking at it — a terminal that is already running when a dialog opens shows its scrollback immediately, and automation can drive a terminal that is never displayed at all. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " This is idempotent and does not block: it schedules the workload rather than waiting for it to produce output. Use " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminal.WaitForTextAsync(System.String,System.Nullable{System.TimeSpan},System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": " to wait for the workload to reach a known state. It is also a no-op for " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalOwner.Resource" + }, + { + "kind": "text", + "text": " terminals, whose workload is started by the resource. " + } + ] + } + ], + "exceptions": [ + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": "The terminal has already stopped." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "77-77" + }, + { + "name": "WaitForTextAsync", + "kind": "method", + "accessibility": "public", + "signature": "public Task AspireTerminal.WaitForTextAsync(string text, TimeSpan? timeout = null, CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", + "parameters": [ + { + "name": "text", + "type": "string" + }, + { + "name": "timeout", + "type": "System.TimeSpan?", + "isNullable": true, + "isOptional": true + }, + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Waits until " + }, + { + "kind": "paramref", + "value": "text" + }, + { + "kind": "text", + "text": " appears on the terminal screen. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A task that completes when the text appears on the terminal screen." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "Cancellation token." + } + ], + "text": [ + { + "kind": "text", + "text": "The text to wait for." + } + ], + "timeout": [ + { + "kind": "text", + "text": "How long to wait before giving up. Defaults to 30 seconds." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "paramref", + "value": "text" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": "." + } + ] + }, + { + "type": "T:System.TimeoutException", + "description": [ + { + "kind": "text", + "text": "The text did not appear before " + }, + { + "kind": "paramref", + "value": "timeout" + }, + { + "kind": "text", + "text": " elapsed." + } + ] + }, + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": "The AppHost-owned terminal has already stopped." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "135-135" + }, + { + "name": "Id", + "kind": "property", + "accessibility": "public", + "signature": "public string AspireTerminal.Id", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the opaque identifier used to address this terminal over the dashboard connection. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "43-43" + }, + { + "name": "Owner", + "kind": "property", + "accessibility": "public", + "signature": "public TerminalOwner AspireTerminal.Owner", + "returnType": "Aspire.Hosting.ApplicationModel.TerminalOwner", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the process that owns this terminal's workload. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "53-53" + }, + { + "name": "Placement", + "kind": "property", + "accessibility": "public", + "signature": "public TerminalPlacement AspireTerminal.Placement", + "returnType": "Aspire.Hosting.ApplicationModel.TerminalPlacement", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets where this terminal is displayed in the dashboard. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "58-58" + }, + { + "name": "Title", + "kind": "property", + "accessibility": "public", + "signature": "public string AspireTerminal.Title", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the title shown on the terminal's dock tab. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminal.cs", + "sourceLines": "48-48" + } + ] + }, + { + "name": "AspireTerminalKey", + "fullName": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "struct", + "accessibility": "public", + "isSealed": true, + "isReadOnly": true, + "interfaces": [ + "System.IEquatable" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents one terminal keypress, optionally combined with modifiers, for " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminal.SendKeyAsync(Aspire.Hosting.ApplicationModel.AspireTerminalKey,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": ". " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Use a named key property and compose " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminalKey.Ctrl(Aspire.Hosting.ApplicationModel.AspireTerminalKey)" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminalKey.Shift(Aspire.Hosting.ApplicationModel.AspireTerminalKey)" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminalKey.Alt(Aspire.Hosting.ApplicationModel.AspireTerminalKey)" + }, + { + "kind": "text", + "text": " to add modifiers. Composition is order-independent, and applying the same modifier repeatedly has no additional effect. A default-initialized value is invalid and cannot be sent or passed to a modifier factory. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Letter keys produce lowercase letters without modifiers and uppercase letters with " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminalKey.Shift(Aspire.Hosting.ApplicationModel.AspireTerminalKey)" + }, + { + "kind": "text", + "text": ". Digit and punctuation keys follow the US keyboard layout. Use " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.ApplicationModel.AspireTerminal.SendTextAsync(System.String,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": " for arbitrary text or Unicode rather than composing keypresses. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " These values describe terminal input, not physically held keys. Terminal protocols, platforms, and applications differ in how they interpret key combinations. Legacy terminal encoding cannot distinguish Ctrl+I from Tab, Ctrl+M from Enter, or Ctrl+Shift+letter from Ctrl+letter. " + } + ] + } + ], + "examples": [ + { + "code": "\n await terminal.SendKeyAsync(AspireTerminalKey.Shift(AspireTerminalKey.E));\n await terminal.SendKeyAsync(AspireTerminalKey.Ctrl(AspireTerminalKey.Alt(AspireTerminalKey.Delete)));\n ", + "language": "csharp" + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRETERMINAL001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "38-38", + "members": [ + { + "name": "Alt", + "kind": "method", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Alt(AspireTerminalKey key)", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "parameters": [ + { + "name": "key", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminalKey" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds the Alt modifier to a terminal keypress. " + } + ], + "remarks": [ + { + "kind": "text", + "text": "Repeated application has no additional effect, and composition with other modifiers is order-independent." + } + ], + "returns": [ + { + "kind": "text", + "text": "A keypress with Alt added, preserving its key identity and other modifiers." + } + ], + "parameters": { + "key": [ + { + "kind": "text", + "text": "The initialized keypress, including any existing modifiers." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "paramref", + "value": "key" + }, + { + "kind": "text", + "text": " is default-initialized." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "314-316" + }, + { + "name": "Ctrl", + "kind": "method", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Ctrl(AspireTerminalKey key)", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "parameters": [ + { + "name": "key", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminalKey" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds the Control modifier to a terminal keypress. " + } + ], + "remarks": [ + { + "kind": "text", + "text": "Repeated application has no additional effect, and composition with other modifiers is order-independent." + } + ], + "returns": [ + { + "kind": "text", + "text": "A keypress with Control added, preserving its key identity and other modifiers." + } + ], + "parameters": { + "key": [ + { + "kind": "text", + "text": "The initialized keypress, including any existing modifiers." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "paramref", + "value": "key" + }, + { + "kind": "text", + "text": " is default-initialized." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "286-288" + }, + { + "name": "Equals", + "kind": "method", + "accessibility": "public", + "signature": "public bool AspireTerminalKey.Equals(AspireTerminalKey other)", + "returnType": "bool", + "parameters": [ + { + "name": "other", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminalKey" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Determines whether another keypress has the same key identity and modifiers. " + } + ], + "returns": [ + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": " if the key identities and modifiers are equal; otherwise, " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "other": [ + { + "kind": "text", + "text": "The keypress to compare." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "324-324" + }, + { + "name": "Equals", + "kind": "method", + "accessibility": "public", + "signature": "public override bool AspireTerminalKey.Equals(object? obj)", + "returnType": "bool", + "isOverride": true, + "parameters": [ + { + "name": "obj", + "type": "object?", + "isNullable": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Determines whether an object is a keypress with the same key identity and modifiers. " + } + ], + "returns": [ + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": " if the object is an equal keypress; otherwise, " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "obj": [ + { + "kind": "text", + "text": "The object to compare, or " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": "." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "331-331" + }, + { + "name": "GetHashCode", + "kind": "method", + "accessibility": "public", + "signature": "public override int AspireTerminalKey.GetHashCode()", + "returnType": "int", + "isOverride": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets a hash code based on the key identity and modifiers. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The hash code for this keypress." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "337-337" + }, + { + "name": "op_Equality", + "kind": "method", + "accessibility": "public", + "signature": "public static bool AspireTerminalKey.operator ==(AspireTerminalKey left, AspireTerminalKey right)", + "returnType": "bool", + "isStatic": true, + "parameters": [ + { + "name": "left", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminalKey" + }, + { + "name": "right", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminalKey" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Determines whether two keypresses have the same key identity and modifiers. " + } + ], + "returns": [ + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": " if the keypresses are equal; otherwise, " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "left": [ + { + "kind": "text", + "text": "The first keypress." + } + ], + "right": [ + { + "kind": "text", + "text": "The second keypress." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "366-366" + }, + { + "name": "op_Inequality", + "kind": "method", + "accessibility": "public", + "signature": "public static bool AspireTerminalKey.operator !=(AspireTerminalKey left, AspireTerminalKey right)", + "returnType": "bool", + "isStatic": true, + "parameters": [ + { + "name": "left", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminalKey" + }, + { + "name": "right", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminalKey" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Determines whether two keypresses differ in key identity or modifiers. " + } + ], + "returns": [ + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": " if the keypresses differ; otherwise, " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "left": [ + { + "kind": "text", + "text": "The first keypress." + } + ], + "right": [ + { + "kind": "text", + "text": "The second keypress." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "374-374" + }, + { + "name": "Shift", + "kind": "method", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Shift(AspireTerminalKey key)", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "parameters": [ + { + "name": "key", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminalKey" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds the Shift modifier to a terminal keypress. " + } + ], + "remarks": [ + { + "kind": "text", + "text": "Repeated application has no additional effect, and composition with other modifiers is order-independent." + } + ], + "returns": [ + { + "kind": "text", + "text": "A keypress with Shift added, preserving its key identity and other modifiers." + } + ], + "parameters": { + "key": [ + { + "kind": "text", + "text": "The initialized keypress, including any existing modifiers." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "paramref", + "value": "key" + }, + { + "kind": "text", + "text": " is default-initialized." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "300-302" + }, + { + "name": "ToString", + "kind": "method", + "accessibility": "public", + "signature": "public override string AspireTerminalKey.ToString()", + "returnType": "string", + "isOverride": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets a readable description of this keypress. " + } + ], + "returns": [ + { + "kind": "text", + "text": " The named key prefixed by any modifiers in Ctrl, Alt, Shift order, separated by " + }, + { + "kind": "code", + "text": "+" + }, + { + "kind": "text", + "text": ", or " + }, + { + "kind": "code", + "text": "Uninitialized" + }, + { + "kind": "text", + "text": " for a default-initialized value. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "348-357" + }, + { + "name": "A", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.A", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the A letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "56-56" + }, + { + "name": "Apostrophe", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Apostrophe", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the apostrophe (" + }, + { + "kind": "code", + "text": "'" + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "272-272" + }, + { + "name": "B", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.B", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the B letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "59-59" + }, + { + "name": "Backslash", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Backslash", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the backslash (" + }, + { + "kind": "code", + "text": "\\" + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "266-266" + }, + { + "name": "Backspace", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Backspace", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Backspace key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "209-209" + }, + { + "name": "Backtick", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Backtick", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the backtick (" + }, + { + "kind": "code", + "text": "`" + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "275-275" + }, + { + "name": "C", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.C", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the C letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "62-62" + }, + { + "name": "Comma", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Comma", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the comma (" + }, + { + "kind": "code", + "text": "," + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "245-245" + }, + { + "name": "D", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the D letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "65-65" + }, + { + "name": "D0", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D0", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the 0 digit key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "134-134" + }, + { + "name": "D1", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D1", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the 1 digit key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "137-137" + }, + { + "name": "D2", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D2", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the 2 digit key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "140-140" + }, + { + "name": "D3", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D3", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the 3 digit key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "143-143" + }, + { + "name": "D4", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D4", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the 4 digit key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "146-146" + }, + { + "name": "D5", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D5", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the 5 digit key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "149-149" + }, + { + "name": "D6", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D6", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the 6 digit key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "152-152" + }, + { + "name": "D7", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D7", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the 7 digit key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "155-155" + }, + { + "name": "D8", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D8", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the 8 digit key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "158-158" + }, + { + "name": "D9", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.D9", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the 9 digit key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "161-161" + }, + { + "name": "Delete", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Delete", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Delete key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "212-212" + }, + { + "name": "Down", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Down", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Down arrow key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "224-224" + }, + { + "name": "E", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.E", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the E letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "68-68" + }, + { + "name": "End", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.End", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the End key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "236-236" + }, + { + "name": "Enter", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Enter", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Enter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "200-200" + }, + { + "name": "EqualsSign", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.EqualsSign", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the equals sign (" + }, + { + "kind": "code", + "text": "=" + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "254-254" + }, + { + "name": "Escape", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Escape", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Escape key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "206-206" + }, + { + "name": "F", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "71-71" + }, + { + "name": "F1", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F1", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F1 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "164-164" + }, + { + "name": "F10", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F10", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F10 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "191-191" + }, + { + "name": "F11", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F11", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F11 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "194-194" + }, + { + "name": "F12", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F12", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F12 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "197-197" + }, + { + "name": "F2", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F2", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F2 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "167-167" + }, + { + "name": "F3", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F3", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F3 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "170-170" + }, + { + "name": "F4", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F4", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F4 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "173-173" + }, + { + "name": "F5", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F5", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F5 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "176-176" + }, + { + "name": "F6", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F6", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F6 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "179-179" + }, + { + "name": "F7", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F7", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F7 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "182-182" + }, + { + "name": "F8", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F8", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F8 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "185-185" + }, + { + "name": "F9", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.F9", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the F9 function key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "188-188" + }, + { + "name": "G", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.G", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the G letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "74-74" + }, + { + "name": "H", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.H", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the H letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "77-77" + }, + { + "name": "Home", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Home", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Home key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "233-233" + }, + { + "name": "I", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.I", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the I letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "80-80" + }, + { + "name": "Insert", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Insert", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Insert key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "215-215" + }, + { + "name": "J", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.J", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the J letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "83-83" + }, + { + "name": "K", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.K", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the K letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "86-86" + }, + { + "name": "L", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.L", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the L letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "89-89" + }, + { + "name": "Left", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Left", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Left arrow key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "227-227" + }, + { + "name": "LeftBracket", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.LeftBracket", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the left bracket (" + }, + { + "kind": "code", + "text": "[" + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "263-263" + }, + { + "name": "M", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.M", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the M letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "92-92" + }, + { + "name": "Minus", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Minus", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the minus (" + }, + { + "kind": "code", + "text": "-" + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "251-251" + }, + { + "name": "N", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.N", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the N letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "95-95" + }, + { + "name": "O", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.O", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the O letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "98-98" + }, + { + "name": "P", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.P", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the P letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "101-101" + }, + { + "name": "PageDown", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.PageDown", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Page Down key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "242-242" + }, + { + "name": "PageUp", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.PageUp", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Page Up key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "239-239" + }, + { + "name": "Period", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Period", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the period (" + }, + { + "kind": "code", + "text": "." + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "248-248" + }, + { + "name": "Q", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Q", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Q letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "104-104" + }, + { + "name": "R", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.R", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the R letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "107-107" + }, + { + "name": "Right", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Right", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Right arrow key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "230-230" + }, + { + "name": "RightBracket", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.RightBracket", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the right bracket (" + }, + { + "kind": "code", + "text": "]" + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "269-269" + }, + { + "name": "S", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.S", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the S letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "110-110" + }, + { + "name": "Semicolon", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Semicolon", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the semicolon (" + }, + { + "kind": "code", + "text": ";" + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "260-260" + }, + { + "name": "Slash", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Slash", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the slash (" + }, + { + "kind": "code", + "text": "/" + }, + { + "kind": "text", + "text": ") key on a US keyboard." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "257-257" + }, + { + "name": "Space", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Space", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the space bar key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "218-218" + }, + { + "name": "T", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.T", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the T letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "113-113" + }, + { + "name": "Tab", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Tab", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Tab key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "203-203" + }, + { + "name": "U", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.U", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the U letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "116-116" + }, + { + "name": "Up", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Up", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Up arrow key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "221-221" + }, + { + "name": "V", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.V", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the V letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "119-119" + }, + { + "name": "W", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.W", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the W letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "122-122" + }, + { + "name": "X", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.X", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the X letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "125-125" + }, + { + "name": "Y", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Y", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Y letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "128-128" + }, + { + "name": "Z", + "kind": "property", + "accessibility": "public", + "signature": "public static AspireTerminalKey AspireTerminalKey.Z", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminalKey", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Gets the Z letter key." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/AspireTerminalKey.cs", + "sourceLines": "131-131" + } + ] + }, + { + "name": "BeforeResourceStartedEvent", + "fullName": "Aspire.Hosting.ApplicationModel.BeforeResourceStartedEvent", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "class", + "accessibility": "public", + "interfaces": [ + "Aspire.Hosting.Eventing.IDistributedApplicationEvent", + "Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " This event is raised by orchestrators before they have started a new resource. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Resources that are created by orchestrators may not yet be ready to handle requests. " + } + ], + "parameters": { + "resource": [ + { + "kind": "text", + "text": "The resource that is being created." + } + ], + "services": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:System.IServiceProvider" + }, + { + "kind": "text", + "text": " for the AppHost." + } + ] + } + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute", + "arguments": { + "ExposeProperties": "True" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/BeforeResourceStartedEvent.cs", + "sourceLines": "17-17", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public BeforeResourceStartedEvent.BeforeResourceStartedEvent(IResource resource, IServiceProvider services)", + "returnType": "void", + "parameters": [ + { + "name": "resource", + "type": "Aspire.Hosting.ApplicationModel.IResource" + }, + { + "name": "services", + "type": "System.IServiceProvider" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " This event is raised by orchestrators before they have started a new resource. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Resources that are created by orchestrators may not yet be ready to handle requests. " + } + ], + "parameters": { + "resource": [ + { + "kind": "text", + "text": "The resource that is being created." + } + ], + "services": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:System.IServiceProvider" + }, + { + "kind": "text", + "text": " for the AppHost." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/BeforeResourceStartedEvent.cs", + "sourceLines": "17-23" + }, + { + "name": "Resource", + "kind": "property", + "accessibility": "public", + "signature": "public IResource BeforeResourceStartedEvent.Resource", + "returnType": "Aspire.Hosting.ApplicationModel.IResource", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Resource associated with this event. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/BeforeResourceStartedEvent.cs", + "sourceLines": "20-20" + }, + { + "name": "Services", + "kind": "property", + "accessibility": "public", + "signature": "public IServiceProvider BeforeResourceStartedEvent.Services", + "returnType": "System.IServiceProvider", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " The " + }, + { + "kind": "cref", + "value": "T:System.IServiceProvider" + }, + { + "kind": "text", + "text": " instance. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/BeforeResourceStartedEvent.cs", + "sourceLines": "23-23" + } + ] + }, + { + "name": "BeforeStartEvent", + "fullName": "Aspire.Hosting.ApplicationModel.BeforeStartEvent", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "class", + "accessibility": "public", + "interfaces": [ + "Aspire.Hosting.Eventing.IDistributedApplicationEvent" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " This event is published before the application starts. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Subscribing to this event is analogous to implementing the " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.Lifecycle.IDistributedApplicationLifecycleHook.BeforeStartAsync(Aspire.Hosting.ApplicationModel.DistributedApplicationModel,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": " method. This event provides access to the " + }, + { + "kind": "cref", + "value": "T:System.IServiceProvider" + }, + { + "kind": "text", + "text": " interface to resolve dependencies including " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.DistributedApplicationModel" + }, + { + "kind": "text", + "text": " service which is passed in as an argument in " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.Lifecycle.IDistributedApplicationLifecycleHook.BeforeStartAsync(Aspire.Hosting.ApplicationModel.DistributedApplicationModel,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": ". " + } + ], + "parameters": { + "model": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.DistributedApplicationModel" + }, + { + "kind": "text", + "text": " instance." + } + ], + "services": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:System.IServiceProvider" + }, + { + "kind": "text", + "text": " instance." + } + ] + }, + "examples": [ + { + "code": "\n var builder = DistributedApplication.CreateBuilder(args);\n builder.Eventing.Subscribe(async (@event, cancellationToken) => {\n var appModel = @event.Services.GetRequiredService();\n // Mutate the distributed application model.\n });\n ", + "language": "csharp", + "description": [ + { + "kind": "text", + "text": "Subscribe to the" + }, + { + "kind": "text", + "text": "event and resolve the distributed application model." + } + ] + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute", + "arguments": { + "ExposeProperties": "True" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/BeforeStartEvent.cs", + "sourceLines": "30-30", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public BeforeStartEvent.BeforeStartEvent(IServiceProvider services, DistributedApplicationModel model)", + "returnType": "void", + "parameters": [ + { + "name": "services", + "type": "System.IServiceProvider" + }, + { + "name": "model", + "type": "Aspire.Hosting.ApplicationModel.DistributedApplicationModel" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " This event is published before the application starts. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Subscribing to this event is analogous to implementing the " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.Lifecycle.IDistributedApplicationLifecycleHook.BeforeStartAsync(Aspire.Hosting.ApplicationModel.DistributedApplicationModel,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": " method. This event provides access to the " + }, + { + "kind": "cref", + "value": "T:System.IServiceProvider" + }, + { + "kind": "text", + "text": " interface to resolve dependencies including " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.DistributedApplicationModel" + }, + { + "kind": "text", + "text": " service which is passed in as an argument in " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.Lifecycle.IDistributedApplicationLifecycleHook.BeforeStartAsync(Aspire.Hosting.ApplicationModel.DistributedApplicationModel,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": ". " + } + ], + "parameters": { + "model": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.DistributedApplicationModel" + }, + { + "kind": "text", + "text": " instance." + } + ], + "services": [ + { + "kind": "text", + "text": "The " + }, + { "kind": "cref", "value": "T:System.IServiceProvider" }, @@ -42466,7 +47182,7 @@ } ], "sourceFile": "src/Aspire.Hosting/ApplicationModel/CommandLineArgsCallbackAnnotation.cs", - "sourceLines": "87-87", + "sourceLines": "96-96", "members": [ { "name": ".ctor", @@ -42508,7 +47224,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/CommandLineArgsCallbackAnnotation.cs", - "sourceLines": "87-118" + "sourceLines": "96-127" }, { "name": ".ctor", @@ -42560,7 +47276,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/CommandLineArgsCallbackAnnotation.cs", - "sourceLines": "98-98" + "sourceLines": "107-107" }, { "name": "Args", @@ -42578,7 +47294,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/CommandLineArgsCallbackAnnotation.cs", - "sourceLines": "103-103" + "sourceLines": "112-112" }, { "name": "CancellationToken", @@ -42596,7 +47312,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/CommandLineArgsCallbackAnnotation.cs", - "sourceLines": "108-108" + "sourceLines": "117-117" }, { "name": "ExecutionContext", @@ -42674,7 +47390,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/CommandLineArgsCallbackAnnotation.cs", - "sourceLines": "140-140" + "sourceLines": "149-149" } ] }, @@ -44118,6 +48834,448 @@ } ] }, + { + "name": "ConnectionStringEnvironmentVariableNames", + "fullName": "Aspire.Hosting.ApplicationModel.ConnectionStringEnvironmentVariableNames", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "record", + "accessibility": "public", + "isSealed": true, + "interfaces": [ + "System.IEquatable" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Describes the logical and physical names used for a connection-string reference. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRECONNECTIONSTRINGS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs", + "sourceLines": "12-12", + "members": [ + { + "name": "$", + "kind": "method", + "accessibility": "public", + "signature": "public ConnectionStringEnvironmentVariableNames ConnectionStringEnvironmentVariableNames.$()", + "returnType": "Aspire.Hosting.ApplicationModel.ConnectionStringEnvironmentVariableNames" + }, + { + "name": "Create", + "kind": "method", + "accessibility": "public", + "signature": "public static ConnectionStringEnvironmentVariableNames ConnectionStringEnvironmentVariableNames.Create(IResourceWithConnectionString resource, string logicalName)", + "returnType": "Aspire.Hosting.ApplicationModel.ConnectionStringEnvironmentVariableNames", + "isStatic": true, + "parameters": [ + { + "name": "resource", + "type": "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString" + }, + { + "name": "logicalName", + "type": "string" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Creates the logical and physical environment-variable names for a connection-string reference. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The logical and physical environment-variable names." + } + ], + "parameters": { + "logicalName": [ + { + "kind": "text", + "text": "The logical connection name." + } + ], + "resource": [ + { + "kind": "text", + "text": "The referenced resource." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs", + "sourceLines": "67-79" + }, + { + "name": "Deconstruct", + "kind": "method", + "accessibility": "public", + "signature": "public void ConnectionStringEnvironmentVariableNames.Deconstruct(out string LogicalName, out string OriginalName, out string PortableName, out bool IsExplicit)", + "returnType": "void", + "parameters": [ + { + "name": "LogicalName", + "type": "string", + "modifier": "out" + }, + { + "name": "OriginalName", + "type": "string", + "modifier": "out" + }, + { + "name": "PortableName", + "type": "string", + "modifier": "out" + }, + { + "name": "IsExplicit", + "type": "bool", + "modifier": "out" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Deconstructs the logical and physical names for a connection-string reference. " + } + ], + "parameters": { + "IsExplicit": [ + { + "kind": "text", + "text": "Whether the physical environment-variable name was explicitly supplied by the source resource." + } + ], + "LogicalName": [ + { + "kind": "text", + "text": "The logical connection name used by application configuration." + } + ], + "OriginalName": [ + { + "kind": "text", + "text": "The original environment-variable name derived directly from the logical name." + } + ], + "PortableName": [ + { + "kind": "text", + "text": "The portable environment-variable name." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs", + "sourceLines": "53-57" + }, + { + "name": "Equals", + "kind": "method", + "accessibility": "public", + "signature": "public override bool ConnectionStringEnvironmentVariableNames.Equals(object? obj)", + "returnType": "bool", + "isOverride": true, + "parameters": [ + { + "name": "obj", + "type": "object?", + "isNullable": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": "Determines whether the specified object is equal to the current object." + } + ], + "returns": [ + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": " if the specified object is equal to the current object; otherwise, " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "obj": [ + { + "kind": "text", + "text": "The object to compare with the current object." + } + ] + } + } + }, + { + "name": "Equals", + "kind": "method", + "accessibility": "public", + "signature": "public bool ConnectionStringEnvironmentVariableNames.Equals(ConnectionStringEnvironmentVariableNames? other)", + "returnType": "bool", + "parameters": [ + { + "name": "other", + "type": "Aspire.Hosting.ApplicationModel.ConnectionStringEnvironmentVariableNames?", + "isNullable": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": "Indicates whether the current object is equal to another object of the same type." + } + ], + "returns": [ + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": " if the current object is equal to the " + }, + { + "kind": "paramref", + "value": "other" + }, + { + "kind": "text", + "text": " parameter; otherwise, " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "other": [ + { + "kind": "text", + "text": "An object to compare with this object." + } + ] + } + } + }, + { + "name": "GetHashCode", + "kind": "method", + "accessibility": "public", + "signature": "public override int ConnectionStringEnvironmentVariableNames.GetHashCode()", + "returnType": "int", + "isOverride": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Serves as the default hash function." + } + ], + "returns": [ + { + "kind": "text", + "text": "A hash code for the current object." + } + ] + } + }, + { + "name": "GetPhysicalNames", + "kind": "method", + "accessibility": "public", + "signature": "public IEnumerable ConnectionStringEnvironmentVariableNames.GetPhysicalNames()", + "returnType": "System.Collections.Generic.IEnumerable", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Enumerates the distinct physical environment-variable names represented by this value. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The physical environment-variable names." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs", + "sourceLines": "88-94" + }, + { + "name": "op_Equality", + "kind": "method", + "accessibility": "public", + "signature": "public static bool ConnectionStringEnvironmentVariableNames.operator ==(ConnectionStringEnvironmentVariableNames? left, ConnectionStringEnvironmentVariableNames? right)", + "returnType": "bool", + "isStatic": true, + "parameters": [ + { + "name": "left", + "type": "Aspire.Hosting.ApplicationModel.ConnectionStringEnvironmentVariableNames?", + "isNullable": true + }, + { + "name": "right", + "type": "Aspire.Hosting.ApplicationModel.ConnectionStringEnvironmentVariableNames?", + "isNullable": true + } + ] + }, + { + "name": "op_Inequality", + "kind": "method", + "accessibility": "public", + "signature": "public static bool ConnectionStringEnvironmentVariableNames.operator !=(ConnectionStringEnvironmentVariableNames? left, ConnectionStringEnvironmentVariableNames? right)", + "returnType": "bool", + "isStatic": true, + "parameters": [ + { + "name": "left", + "type": "Aspire.Hosting.ApplicationModel.ConnectionStringEnvironmentVariableNames?", + "isNullable": true + }, + { + "name": "right", + "type": "Aspire.Hosting.ApplicationModel.ConnectionStringEnvironmentVariableNames?", + "isNullable": true + } + ] + }, + { + "name": "ToString", + "kind": "method", + "accessibility": "public", + "signature": "public override string ConnectionStringEnvironmentVariableNames.ToString()", + "returnType": "string", + "isOverride": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "Returns a string that represents the current object." + } + ], + "returns": [ + { + "kind": "text", + "text": "A string that represents the current object." + } + ] + } + }, + { + "name": "IsExplicit", + "kind": "property", + "accessibility": "public", + "signature": "public bool ConnectionStringEnvironmentVariableNames.IsExplicit", + "returnType": "bool", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets whether the physical environment-variable name was explicitly supplied by the source resource. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs" + }, + { + "name": "LogicalName", + "kind": "property", + "accessibility": "public", + "signature": "public string ConnectionStringEnvironmentVariableNames.LogicalName", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the logical connection name used by application configuration. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs" + }, + { + "name": "OriginalName", + "kind": "property", + "accessibility": "public", + "signature": "public string ConnectionStringEnvironmentVariableNames.OriginalName", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the original environment-variable name derived directly from the logical name. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs" + }, + { + "name": "PortableName", + "kind": "property", + "accessibility": "public", + "signature": "public string ConnectionStringEnvironmentVariableNames.PortableName", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the portable environment-variable name. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs" + } + ] + }, { "name": "ConnectionStringRedirectAnnotation", "fullName": "Aspire.Hosting.ApplicationModel.ConnectionStringRedirectAnnotation", @@ -44234,7 +49392,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringReference.cs", - "sourceLines": "8-8", + "sourceLines": "11-11", "members": [ { "name": ".ctor", @@ -44261,7 +49419,69 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringReference.cs", - "sourceLines": "8-18" + "sourceLines": "11-56" + }, + { + "name": "ConnectionStringExpression", + "kind": "property", + "accessibility": "public", + "signature": "public ReferenceExpression ConnectionStringReference.ConnectionStringExpression", + "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the expression for the referenced connection-string value. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Uses the resource's current connection-string expression unless the reference selects another connection-string value, such as an HTTP connection on a resource with multiple protocols. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringReference.cs", + "sourceLines": "53-53" + }, + { + "name": "EnvironmentVariableNames", + "kind": "property", + "accessibility": "public", + "signature": "public ConnectionStringEnvironmentVariableNames? ConnectionStringReference.EnvironmentVariableNames", + "returnType": "Aspire.Hosting.ApplicationModel.ConnectionStringEnvironmentVariableNames?", + "isReturnNullable": true, + "hasGet": true, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRECONNECTIONSTRINGS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the logical and physical environment-variable names when this reference represents a generated connection-string injection, or " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": " for a standalone value reference. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringReference.cs", + "sourceLines": "44-44" }, { "name": "Optional", @@ -44279,7 +49499,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringReference.cs", - "sourceLines": "18-18" + "sourceLines": "37-37" }, { "name": "Resource", @@ -44297,7 +49517,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ConnectionStringReference.cs", - "sourceLines": "13-13" + "sourceLines": "32-32" } ] }, @@ -44718,6 +49938,12 @@ "kind": "text", "text": " Gets or sets the output path for the container archive. " } + ], + "remarks": [ + { + "kind": "text", + "text": " For .NET SDK publishing, a non-existent path with any filename extension is an archive filename. End a directory path with the platform's directory separator to make directory intent explicit, especially when its name contains a period. Prefer an explicit archive filename to avoid ambiguity. Other container image builders may interpret this path as an output directory. " + } ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ContainerBuildOptionsCallbackAnnotation.cs" @@ -46843,7 +52069,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ContainerImageReference.cs", - "sourceLines": "15-15", + "sourceLines": "16-16", "members": [ { "name": ".ctor", @@ -46882,7 +52108,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ContainerImageReference.cs", - "sourceLines": "21-24" + "sourceLines": "22-25" }, { "name": "References", @@ -46908,7 +52134,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ContainerImageReference.cs", - "sourceLines": "36-36" + "sourceLines": "37-37" }, { "name": "Resource", @@ -46926,7 +52152,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ContainerImageReference.cs", - "sourceLines": "29-29" + "sourceLines": "30-30" }, { "name": "ValueExpression", @@ -46944,7 +52170,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ContainerImageReference.cs", - "sourceLines": "32-32" + "sourceLines": "33-33" } ] }, @@ -48246,6 +53472,25 @@ "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceKnownProperties.cs", "sourceLines": "11-11", "members": [ + { + "name": "ConnectionProperties", + "kind": "property", + "accessibility": "public", + "signature": "public static string CustomResourceKnownProperties.ConnectionProperties", + "returnType": "string", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " The connection properties of the resource. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceKnownProperties.cs", + "sourceLines": "26-26" + }, { "name": "ConnectionString", "kind": "property", @@ -49036,7 +54281,7 @@ } ], "sourceFile": "src/Aspire.Hosting/ApplicationModel/DebugSupportExtensions.cs", - "sourceLines": "17-17", + "sourceLines": "16-16", "members": [ { "name": "CreateLaunchConfigurationAsync", @@ -49083,15 +54328,32 @@ "children": [ { "kind": "text", - "text": " Launch configuration is created by invoking the producer callback passed to " + "text": " Launch configuration is created by invoking the producer callback passed to a " + }, + { + "kind": "code", + "text": "WithDebugSupport" + }, + { + "kind": "text", + "text": " overload on " }, { "kind": "cref", - "value": "M:Aspire.Hosting.ResourceBuilderExtensions.WithDebugSupport``2(Aspire.Hosting.ApplicationModel.IResourceBuilder{``0},System.Func{System.String,``1},System.String)" + "value": "T:Aspire.Hosting.ResourceBuilderExtensions" }, { "kind": "text", - "text": " (or its asynchronous overload), which owns the complete configuration; Aspire serializes the result as-is. The configuration is produced fresh on each call; it is not a singleton. Aspire may call the producer several times for the same resource. " + "text": ", which owns the complete configuration; Aspire serializes the result as-is. The configuration is produced fresh on each call. Aspire may call the producer several times for the same resource. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " This overload does not resolve the resource's environment variables. A context-based producer receives an empty environment. Aspire's executable creation path supplies the resolved environment through the context-aware overload. " } ] }, @@ -49164,6 +54426,35 @@ ] }, "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "paramref", + "value": "resource" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "paramref", + "value": "mode" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": "." + } + ] + }, { "type": "T:System.InvalidOperationException", "description": [ @@ -49176,7 +54467,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/DebugSupportExtensions.cs", - "sourceLines": "124-135" + "sourceLines": "131-139" }, { "name": "HasLaunchToolArgsOwnedBy", @@ -49350,7 +54641,7 @@ "children": [ { "kind": "text", - "text": " Exception: when the active debug session did not advertise any launch configuration types at all (for example Visual Studio, which does not send a capability list), a resource whose launch configuration type is " + "text": " Exception: when the active debug session did not provide a usable launch configuration capability list (for example Visual Studio, which does not send one), a non-file-based resource whose launch configuration type is " }, { "kind": "cref", @@ -49358,7 +54649,7 @@ }, { "kind": "text", - "text": " is treated as implicitly supported rather than falling back to plain process execution. " + "text": " is treated as implicitly supported. File-based C# apps require explicit IDE support because Visual Studio can only launch projects loaded in the solution. " } ] } @@ -49411,7 +54702,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/DebugSupportExtensions.cs", - "sourceLines": "47-73" + "sourceLines": "46-73" } ] }, @@ -49753,7 +55044,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/DistributedApplicationModelExtensions.cs", - "sourceLines": "9-9", + "sourceLines": "11-11", "members": [ { "name": "GetBuildAndPushResources", @@ -49817,7 +55108,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/DistributedApplicationModelExtensions.cs", - "sourceLines": "68-75" + "sourceLines": "71-78" }, { "name": "GetBuildResources", @@ -49881,7 +55172,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/DistributedApplicationModelExtensions.cs", - "sourceLines": "50-57" + "sourceLines": "53-60" }, { "name": "GetComputeResources", @@ -49918,7 +55209,7 @@ }, { "kind": "text", - "text": ". Compute resources are those that are either containers or project resources, and are not marked to be ignored by the manifest publishing callback annotation. " + "text": ". Compute resources are containers, emulators, or resources that support .NET program publishing. Resources excluded from publishing and build-only containers are omitted. " } ], "returns": [ @@ -49945,7 +55236,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/DistributedApplicationModelExtensions.cs", - "sourceLines": "20-39" + "sourceLines": "23-42" } ] }, @@ -51147,6 +56438,132 @@ } ] }, + { + "name": "DotnetProgramBuildCompletionAnnotation", + "fullName": "Aspire.Hosting.ApplicationModel.DotnetProgramBuildCompletionAnnotation", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IResourceAnnotation" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Provides an optional successful-build barrier for consumers of a .NET program's build output. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Consumers invoke the callback before using build output, without waiting for the application's runtime dependencies or readiness. The build owner must support calls before its build plan is finalized, propagate build failures and cancellation, and observe the current build attempt on each invocation. A missing annotation means that the resource does not provide coordinated build readiness. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREPROJECTS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/DotnetProgramBuildCompletionAnnotation.cs", + "sourceLines": "18-18", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public DotnetProgramBuildCompletionAnnotation.DotnetProgramBuildCompletionAnnotation(Func callback)", + "returnType": "void", + "parameters": [ + { + "name": "callback", + "type": "System.Func" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Initializes a new instance of the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.DotnetProgramBuildCompletionAnnotation" + }, + { + "kind": "text", + "text": " class. " + } + ], + "parameters": { + "callback": [ + { + "kind": "text", + "text": "The callback that waits for successful build completion using the application services and caller's cancellation token." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "paramref", + "value": "callback" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/DotnetProgramBuildCompletionAnnotation.cs", + "sourceLines": "25-29" + }, + { + "name": "Callback", + "kind": "property", + "accessibility": "public", + "signature": "public Func DotnetProgramBuildCompletionAnnotation.Callback", + "returnType": "System.Func", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the callback that waits for the current build to complete successfully. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Invoke this callback for each operation; do not cache its returned task across retries or rebuilds. Cancellation of a consumer must not cancel the build or other consumers. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/DotnetProgramBuildCompletionAnnotation.cs", + "sourceLines": "38-38" + } + ] + }, { "name": "DotnetToolAnnotation", "fullName": "Aspire.Hosting.ApplicationModel.DotnetToolAnnotation", @@ -52497,13 +57914,95 @@ "summary": [ { "kind": "text", - "text": " Provides helper methods for validating localhost addresses. " + "text": " Provides helper methods for validating localhost addresses and for resolving endpoint URLs against a configured target host. " } ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/EndpointHostHelpers.cs", - "sourceLines": "11-11", + "sourceLines": "12-12", "members": [ + { + "name": "GetUrlWithTargetHostAsync", + "kind": "method", + "accessibility": "public", + "signature": "public static ValueTask EndpointHostHelpers.GetUrlWithTargetHostAsync(EndpointReference endpoint, CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.ValueTask", + "isStatic": true, + "parameters": [ + { + "name": "endpoint", + "type": "Aspire.Hosting.ApplicationModel.EndpointReference" + }, + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the URL of the endpoint, adjusting for localhost TLD if configured. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " When the endpoint's " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.EndpointAnnotation.TargetHost" + }, + { + "kind": "text", + "text": " is a localhost TLD (e.g., aspire-dashboard.dev.localhost), the allocated endpoint address will be \"localhost\" since that's what the service actually binds to. This method returns the URL with the configured TLD hostname instead, which is what users expect to see and use in browsers. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The URL with the appropriate hostname." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "A cancellation token." + } + ], + "endpoint": [ + { + "kind": "text", + "text": "The endpoint reference." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "text", + "text": "Thrown when " + }, + { + "kind": "paramref", + "value": "endpoint" + }, + { + "kind": "text", + "text": " is null." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/EndpointHostHelpers.cs", + "sourceLines": "127-151" + }, { "name": "IsDevLocalhostTld", "kind": "method", @@ -52553,7 +58052,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/EndpointHostHelpers.cs", - "sourceLines": "58-58" + "sourceLines": "59-59" }, { "name": "IsDevLocalhostTld", @@ -52604,7 +58103,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/EndpointHostHelpers.cs", - "sourceLines": "82-82" + "sourceLines": "83-83" }, { "name": "IsLocalhost", @@ -52655,7 +58154,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/EndpointHostHelpers.cs", - "sourceLines": "22-22" + "sourceLines": "23-23" }, { "name": "IsLocalhost", @@ -52706,7 +58205,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/EndpointHostHelpers.cs", - "sourceLines": "34-34" + "sourceLines": "35-35" }, { "name": "IsLocalhostOrLocalhostTld", @@ -52757,7 +58256,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/EndpointHostHelpers.cs", - "sourceLines": "95-95" + "sourceLines": "96-96" }, { "name": "IsLocalhostOrLocalhostTld", @@ -52800,7 +58299,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/EndpointHostHelpers.cs", - "sourceLines": "108-108" + "sourceLines": "109-109" }, { "name": "IsLocalhostTld", @@ -52851,7 +58350,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/EndpointHostHelpers.cs", - "sourceLines": "46-46" + "sourceLines": "47-47" }, { "name": "IsLocalhostTld", @@ -52902,7 +58401,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/EndpointHostHelpers.cs", - "sourceLines": "70-70" + "sourceLines": "71-71" } ] }, @@ -55454,7 +60953,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableAnnotation.cs", - "sourceLines": "12-12", + "sourceLines": "13-13", "members": [ { "name": ".ctor", @@ -55498,6 +60997,48 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableAnnotation.cs" + }, + { + "name": "WorkingDirectoryExplicitlySet", + "kind": "property", + "accessibility": "public", + "signature": "public bool ExecutableAnnotation.WorkingDirectoryExplicitlySet", + "returnType": "bool", + "hasGet": true, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREEXTENSION001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets a value indicating whether the working directory was explicitly set through the resource builder. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The initial value is established by the resource's integration. Integrations that resolve runtime defaults later can use this value to avoid overwriting a working directory explicitly authored with " + }, + { + "kind": "code", + "text": "WithWorkingDirectory" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableAnnotation.cs" } ] }, @@ -55529,15 +61070,23 @@ "children": [ { "kind": "text", - "text": " Integrations create a derived type and supply it through " + "text": " Integrations create a derived type and supply it through one of the " + }, + { + "kind": "code", + "text": "WithDebugSupport" + }, + { + "kind": "text", + "text": " overloads on " }, { "kind": "cref", - "value": "M:Aspire.Hosting.ResourceBuilderExtensions.WithDebugSupport``2(Aspire.Hosting.ApplicationModel.IResourceBuilder{``0},System.Func{System.String,``1},System.String)" + "value": "T:Aspire.Hosting.ResourceBuilderExtensions" }, { "kind": "text", - "text": " or its asynchronous overload. " + "text": ". " } ] } @@ -55583,7 +61132,7 @@ } ], "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs", - "sourceLines": "79-79", + "sourceLines": "89-89", "members": [ { "name": ".ctor", @@ -55619,15 +61168,23 @@ "children": [ { "kind": "text", - "text": " Integrations create a derived type and supply it through " + "text": " Integrations create a derived type and supply it through one of the " + }, + { + "kind": "code", + "text": "WithDebugSupport" + }, + { + "kind": "text", + "text": " overloads on " }, { "kind": "cref", - "value": "M:Aspire.Hosting.ResourceBuilderExtensions.WithDebugSupport``2(Aspire.Hosting.ApplicationModel.IResourceBuilder{``0},System.Func{System.String,``1},System.String)" + "value": "T:Aspire.Hosting.ResourceBuilderExtensions" }, { "kind": "text", - "text": " or its asynchronous overload. " + "text": ". " } ] } @@ -55662,7 +61219,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs", - "sourceLines": "79-97" + "sourceLines": "89-107" }, { "name": "Mode", @@ -55706,11 +61263,11 @@ }, { "kind": "text", - "text": " otherwise. The mode requested by the IDE for the current debug session is passed to the producer callback of " + "text": " otherwise. The mode requested by the IDE for the current debug session is passed directly to mode-based producers and is available to context-based producers through " }, { "kind": "cref", - "value": "M:Aspire.Hosting.ResourceBuilderExtensions.WithDebugSupport``2(Aspire.Hosting.ApplicationModel.IResourceBuilder{``0},System.Func{System.String,``1},System.String)" + "value": "P:Aspire.Hosting.ApplicationModel.LaunchConfigurationCallbackContext.Mode" }, { "kind": "text", @@ -55906,7 +61463,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableResource.cs", - "sourceLines": "28-35" + "sourceLines": "28-36" }, { "name": "Command", @@ -55924,7 +61481,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableResource.cs", - "sourceLines": "40-40" + "sourceLines": "41-41" }, { "name": "WorkingDirectory", @@ -55942,7 +61499,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableResource.cs", - "sourceLines": "45-45" + "sourceLines": "46-46" } ] }, @@ -60952,6 +66509,56 @@ } ] }, + { + "name": "IComputeEnvironmentWithVolumeMounts", + "fullName": "Aspire.Hosting.ApplicationModel.IComputeEnvironmentWithVolumeMounts", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "interface", + "accessibility": "public", + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IComputeEnvironmentResource", + "Aspire.Hosting.ApplicationModel.IResource" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Implemented by compute environments that materialize volume mounts for the workloads they host. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Binding a volume to an environment variable promises the workload that reading that variable yields a path backed by storage. Only a compute environment that consumes " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.ContainerMountAnnotation" + }, + { + "kind": "text", + "text": " can keep that promise, so those environments declare the capability by implementing this interface. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " When the target environment does not implement this interface, resolving the variable fails at publish time rather than emitting a path that resolves to ordinary writable container storage. Without the check the failure is silent and late: writes succeed, and the data disappears when the workload restarts or is rescheduled. " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/IComputeEnvironmentWithVolumeMounts.cs", + "sourceLines": "22-22", + "members": [] + }, { "name": "IComputeResource", "fullName": "Aspire.Hosting.ApplicationModel.IComputeResource", @@ -61234,6 +66841,60 @@ "sourceFile": "src/Aspire.Hosting/ApplicationModel/IconVariant.cs", "members": [] }, + { + "name": "IDotnetProgramResource", + "fullName": "Aspire.Hosting.ApplicationModel.IDotnetProgramResource", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "interface", + "accessibility": "public", + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IResource" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents a resource backed by a .NET program, such as a project file or a file-based app. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This interface identifies the source-program model shared by legacy " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.ProjectResource" + }, + { + "kind": "text", + "text": " instances and language integrations such as " + }, + { + "kind": "code", + "text": "Aspire.Hosting.Dotnet" + }, + { + "kind": "text", + "text": ". Implementing this interface does not by itself enable SDK container publishing; use the publishing configuration supplied by the resource's builder API. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREPROJECTS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/IDotnetProgramResource.cs", + "sourceLines": "17-17", + "members": [] + }, { "name": "IExecutionConfigurationBuilder", "fullName": "Aspire.Hosting.ApplicationModel.IExecutionConfigurationBuilder", @@ -63700,7 +69361,8 @@ } } ], - "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownLaunchConfigurationTypes.cs", + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs", + "sourceLines": "39-39", "members": [ { "name": "Project", @@ -63728,10 +69390,43 @@ }, { "kind": "text", - "text": ". Aspire hands the project path (and launch profile) to the IDE, which owns building and launching the project, so no process fallback is offered for resources using this type. " + "text": ". Aspire hands the project path and launch profile to the IDE, which owns building and launching the project. " } ] - } + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs" + }, + { + "name": "ProjectWithExternalBuild", + "kind": "field", + "accessibility": "public", + "signature": "public const static string KnownLaunchConfigurationTypes.ProjectWithExternalBuild", + "returnType": "string", + "isStatic": true, + "isConst": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " The .NET project launch configuration type for output produced by an external build. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " IDEs advertise this capability only when they honor the build environment, working directory, and build suppression values carried by " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.ProjectLaunchConfiguration" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs" } ] }, @@ -63952,8 +69647,8 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs", - "sourceLines": "565-565", + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs", + "sourceLines": "9-9", "members": [ { "name": "Active", @@ -63967,11 +69662,11 @@ "summary": [ { "kind": "text", - "text": " The not active state. Useful for resources without a lifetime. " + "text": " The active state. Useful for resources without a lifetime. " } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "BuildableStates", @@ -63989,7 +69684,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "Building", @@ -64007,7 +69702,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "Exited", @@ -64025,7 +69720,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "FailedToStart", @@ -64043,7 +69738,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "Finished", @@ -64061,7 +69756,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "Hidden", @@ -64087,7 +69782,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "NotStarted", @@ -64105,7 +69800,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "Running", @@ -64123,7 +69818,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "RuntimeUnhealthy", @@ -64141,7 +69836,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "Starting", @@ -64159,7 +69854,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "Stopping", @@ -64177,7 +69872,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "TerminalStates", @@ -64195,7 +69890,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "ValueMissing", @@ -64213,7 +69908,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" }, { "name": "Waiting", @@ -64231,7 +69926,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/KnownResourceStates.cs" } ] }, @@ -64327,6 +70022,129 @@ } ] }, + { + "name": "LaunchConfigurationCallbackContext", + "fullName": "Aspire.Hosting.ApplicationModel.LaunchConfigurationCallbackContext", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Provides the runtime data used to create a launch configuration for a resource. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Aspire creates this context after resolving the execution configuration for a specific executable creation. Environment variable values may contain secrets; only copy values into the launch configuration when the IDE requires them. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREEXTENSION001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/LaunchConfigurationCallbackContext.cs", + "sourceLines": "17-17", + "members": [ + { + "name": "CancellationToken", + "kind": "property", + "accessibility": "public", + "signature": "public CancellationToken LaunchConfigurationCallbackContext.CancellationToken", + "returnType": "System.Threading.CancellationToken", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the cancellation token for this executable creation. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/LaunchConfigurationCallbackContext.cs", + "sourceLines": "57-57" + }, + { + "name": "EnvironmentVariables", + "kind": "property", + "accessibility": "public", + "signature": "public IReadOnlyDictionary LaunchConfigurationCallbackContext.EnvironmentVariables", + "returnType": "System.Collections.Generic.IReadOnlyDictionary", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the resolved environment variables used for this executable creation. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Values can contain secrets. Aspire serializes only the launch configuration returned by the producer; integrations should copy only values required by the IDE. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/LaunchConfigurationCallbackContext.cs", + "sourceLines": "52-52" + }, + { + "name": "Mode", + "kind": "property", + "accessibility": "public", + "signature": "public string LaunchConfigurationCallbackContext.Mode", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the requested launch mode, one of the values on " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.ExecutableLaunchMode" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/LaunchConfigurationCallbackContext.cs", + "sourceLines": "38-38" + }, + { + "name": "Resource", + "kind": "property", + "accessibility": "public", + "signature": "public IResource LaunchConfigurationCallbackContext.Resource", + "returnType": "Aspire.Hosting.ApplicationModel.IResource", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the resource being launched. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/LaunchConfigurationCallbackContext.cs", + "sourceLines": "43-43" + } + ] + }, { "name": "LaunchProfileAnnotation", "fullName": "Aspire.Hosting.ApplicationModel.LaunchProfileAnnotation", @@ -68557,7 +74375,23 @@ "remarks": [ { "kind": "text", - "text": " The IDE builds and launches the project itself, so resources using this launch configuration do not get a process fallback. The resource must carry " + "text": " By default, the IDE builds and launches the project itself. When " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.ProjectLaunchConfiguration.SuppressBuild" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": ", the IDE launches output produced by an external or coordinated build. The resource must carry " }, { "kind": "cref", @@ -68581,7 +74415,7 @@ } ], "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs", - "sourceLines": "108-108", + "sourceLines": "119-119", "members": [ { "name": ".ctor", @@ -68599,7 +74433,23 @@ "remarks": [ { "kind": "text", - "text": " The IDE builds and launches the project itself, so resources using this launch configuration do not get a process fallback. The resource must carry " + "text": " By default, the IDE builds and launches the project itself. When " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.ProjectLaunchConfiguration.SuppressBuild" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": ", the IDE launches output produced by an external or coordinated build. The resource must carry " }, { "kind": "cref", @@ -68612,7 +74462,114 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs", - "sourceLines": "108-115" + "sourceLines": "119-126" + }, + { + "name": "BuildConfiguration", + "kind": "property", + "accessibility": "public", + "signature": "public string? ProjectLaunchConfiguration.BuildConfiguration", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the build configuration used to produce the project output. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The value corresponds to the MSBuild " + }, + { + "kind": "code", + "text": "Configuration" + }, + { + "kind": "text", + "text": " property, such as " + }, + { + "kind": "code", + "text": "Debug" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "Release" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs" + }, + { + "name": "BuildEnvironment", + "kind": "property", + "accessibility": "public", + "signature": "public Dictionary? ProjectLaunchConfiguration.BuildEnvironment", + "returnType": "System.Collections.Generic.Dictionary?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the resolved environment variables that affected the externally produced build. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " IDE launchers use these authoritative values when evaluating build properties such as " + }, + { + "kind": "code", + "text": "TargetPath" + }, + { + "kind": "text", + "text": ". Empty means no project-specific build environment. These values are not a secret transport and can appear in build diagnostics. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs" + }, + { + "name": "BuildWorkingDirectory", + "kind": "property", + "accessibility": "public", + "signature": "public string? ProjectLaunchConfiguration.BuildWorkingDirectory", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the working directory used by the externally produced build. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " IDE launchers use this directory to select the same .NET SDK and repository configuration when evaluating project properties or rebuilding. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs" }, { "name": "DisableLaunchProfile", @@ -68667,6 +74624,38 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs" + }, + { + "name": "SuppressBuild", + "kind": "property", + "accessibility": "public", + "signature": "public bool ProjectLaunchConfiguration.SuppressBuild", + "returnType": "bool", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets a value indicating whether the IDE should suppress building the project before launch. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " When " + }, + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": ", the project output was produced by an external or coordinated build and the IDE should launch it without rebuilding. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ExecutableLaunchConfiguration.cs" } ] }, @@ -68716,6 +74705,24 @@ "returnType": "void", "sourceFile": "src/Aspire.Hosting/ApplicationModel/ProjectLaunchDefaultsAnnotation.cs", "sourceLines": "24-24" + }, + { + "name": "DefaultHttpsEndpoint", + "kind": "property", + "accessibility": "public", + "signature": "public EndpointAnnotation? ProjectLaunchDefaultsAnnotation.DefaultHttpsEndpoint", + "returnType": "Aspire.Hosting.ApplicationModel.EndpointAnnotation?", + "isReturnNullable": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " The https endpoint that was added as a default. It is excluded from the port and Kestrel override environment because the target (e.g. a container) likely won't listen on https. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ProjectLaunchDefaultsAnnotation.cs" } ] }, @@ -68729,6 +74736,7 @@ "interfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IContainerFilesDestinationResource", + "Aspire.Hosting.ApplicationModel.IDotnetProgramResource", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithArgs", "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", @@ -68746,7 +74754,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ProjectResource.cs", - "sourceLines": "25-25", + "sourceLines": "15-15", "members": [ { "name": ".ctor", @@ -68785,7 +74793,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ProjectResource.cs", - "sourceLines": "32-106" + "sourceLines": "22-33" } ] }, @@ -68895,6 +74903,82 @@ }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ProjectResourceExtensions.cs" }, + { + "name": "GetProjectMetadata", + "kind": "method", + "accessibility": "public", + "signature": "public static IProjectMetadata ProjectResourceExtensions.GetProjectMetadata(this IDotnetProgramResource programResource)", + "returnType": "Aspire.Hosting.IProjectMetadata", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "programResource", + "type": "Aspire.Hosting.ApplicationModel.IDotnetProgramResource", + "modifier": "this" + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREPROJECTS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + }, + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Project metadata is a .NET-specific contract and is not part of the ATS surface." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the project metadata for the specified .NET program resource. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The project metadata." + } + ], + "parameters": { + "programResource": [ + { + "kind": "text", + "text": "The .NET program resource." + } + ] + }, + "exceptions": [ + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": " The resource does not carry exactly one stable " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.IProjectMetadata" + }, + { + "kind": "text", + "text": " annotation. " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ProjectResourceExtensions.cs", + "sourceLines": "59-61" + }, { "name": "GetProjectResources", "kind": "method", @@ -68942,6 +75026,75 @@ }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ProjectResourceExtensions.cs", "sourceLines": "23-25" + }, + { + "name": "SupportsDotnetProgramPublishing", + "kind": "method", + "accessibility": "public", + "signature": "public static bool ProjectResourceExtensions.SupportsDotnetProgramPublishing(this IResource resource)", + "returnType": "bool", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "resource", + "type": "Aspire.Hosting.ApplicationModel.IResource", + "modifier": "this" + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREPROJECTS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + }, + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Application model inspection helper — not part of the ATS surface." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets a value indicating whether the resource is configured for .NET SDK container publishing. " + } + ], + "returns": [ + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": " when the resource is a .NET program configured for SDK container publishing; otherwise, " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": ". " + } + ], + "parameters": { + "resource": [ + { + "kind": "text", + "text": "The resource to inspect." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/ProjectResourceExtensions.cs", + "sourceLines": "76-79" } ] }, @@ -74737,7 +80890,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "20-20", + "sourceLines": "21-21", "members": [ { "name": "GetArgumentValuesAsync", @@ -74844,7 +80997,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "250-255" + "sourceLines": "251-256" }, { "name": "GetComputeEnvironment", @@ -74901,7 +81054,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "1031-1035" + "sourceLines": "1051-1055" }, { "name": "GetDeploymentTargetAnnotation", @@ -74942,7 +81095,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "1045-1085" + "sourceLines": "1065-1105" }, { "name": "GetEndpoint", @@ -75024,7 +81177,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "781-790" + "sourceLines": "793-802" }, { "name": "GetEndpoint", @@ -75120,7 +81273,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "805-814" + "sourceLines": "817-826" }, { "name": "GetEndpoints", @@ -75208,7 +81361,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "747-752" + "sourceLines": "759-764" }, { "name": "GetEndpoints", @@ -75306,7 +81459,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "764-769" + "sourceLines": "776-781" }, { "name": "GetEnvironmentVariableValuesAsync", @@ -75413,7 +81566,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "206-211" + "sourceLines": "207-212" }, { "name": "GetReplicaCount", @@ -75477,7 +81630,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "971-977" + "sourceLines": "983-989" }, { "name": "GetResourceDependenciesAsync", @@ -75693,7 +81846,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "1479-1479" + "sourceLines": "1499-1499" }, { "name": "GetResourceDependenciesAsync", @@ -75874,7 +82027,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "1511-1511" + "sourceLines": "1531-1531" }, { "name": "HasAnnotationIncludingAncestorsOfType", @@ -75962,7 +82115,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "130-152" + "sourceLines": "131-153" }, { "name": "HasAnnotationOfType", @@ -76050,7 +82203,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "79-79" + "sourceLines": "80-80" }, { "name": "IsExcludedFromPublish", @@ -76092,7 +82245,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "600-600" + "sourceLines": "612-612" }, { "name": "ProcessArgumentValuesAsync", @@ -76181,7 +82334,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "387-390" + "sourceLines": "399-402" }, { "name": "ProcessEnvironmentVariableValuesAsync", @@ -76270,7 +82423,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "479-482" + "sourceLines": "491-494" }, { "name": "RequiresImageBuild", @@ -76305,7 +82458,7 @@ "remarks": [ { "kind": "text", - "text": " Resources require an image build if they provide their own Dockerfile or are a project. Resources that are excluded from publishing are not considered to require image building. " + "text": " Resources require an image build if they provide their own Dockerfile or are a project. Resources that are excluded from publishing are not considered to require image building. Resources with a prebuilt container image and no Dockerfile build annotation do not require a build. " } ], "returns": [ @@ -76324,7 +82477,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "993-998" + "sourceLines": "1006-1012" }, { "name": "RequiresImageBuildAndPush", @@ -76378,7 +82531,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "1014-1014" + "sourceLines": "1028-1028" }, { "name": "ResolveEndpoints", @@ -76438,7 +82591,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "829-902" + "sourceLines": "841-914" }, { "name": "TryGetAnnotationsIncludingAncestorsOfType", @@ -76534,7 +82687,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "92-118" + "sourceLines": "93-119" }, { "name": "TryGetAnnotationsOfType", @@ -76630,7 +82783,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "56-66" + "sourceLines": "57-67" }, { "name": "TryGetContainerImageName", @@ -76690,7 +82843,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "916-916" + "sourceLines": "928-928" }, { "name": "TryGetContainerImageName", @@ -76760,7 +82913,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "931-959" + "sourceLines": "943-971" }, { "name": "TryGetContainerMounts", @@ -76840,7 +82993,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "712-712" + "sourceLines": "724-724" }, { "name": "TryGetEndpoints", @@ -76900,7 +83053,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "724-724" + "sourceLines": "736-736" }, { "name": "TryGetEnvironmentVariables", @@ -76960,7 +83113,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "164-164" + "sourceLines": "165-165" }, { "name": "TryGetLastAnnotation", @@ -77056,7 +83209,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "32-42" + "sourceLines": "33-43" }, { "name": "TryGetUrls", @@ -77116,7 +83269,7 @@ } }, "sourceFile": "src/Aspire.Hosting/ApplicationModel/ResourceExtensions.cs", - "sourceLines": "736-736" + "sourceLines": "748-748" }, { "name": "WithContainerBuildOptions", @@ -81097,31 +87250,31 @@ "remarks": [ { "kind": "text", - "text": " Added by " + "text": " Added by a " }, { - "kind": "cref", - "value": "M:Aspire.Hosting.ResourceBuilderExtensions.WithDebugSupport``2(Aspire.Hosting.ApplicationModel.IResourceBuilder{``0},System.Func{System.String,``1},System.String)" + "kind": "code", + "text": "WithDebugSupport" }, { "kind": "text", - "text": " (or its asynchronous overload). The annotation is only honored while a debug session is active; use " + "text": " overload on " }, { "kind": "cref", - "value": "M:Aspire.Hosting.ApplicationModel.DebugSupportExtensions.SupportsDebugging(Aspire.Hosting.ApplicationModel.IResource,Microsoft.Extensions.Configuration.IConfiguration,Aspire.Hosting.ApplicationModel.SupportsDebuggingAnnotation@)" + "value": "T:Aspire.Hosting.ResourceBuilderExtensions" }, { "kind": "text", - "text": " to test for that, and " + "text": ". The annotation is only honored while a debug session is active; use " }, { "kind": "cref", - "value": "M:Aspire.Hosting.ApplicationModel.DebugSupportExtensions.CreateLaunchConfigurationAsync(Aspire.Hosting.ApplicationModel.IResource,System.String,System.Threading.CancellationToken)" + "value": "M:Aspire.Hosting.ApplicationModel.DebugSupportExtensions.SupportsDebugging(Aspire.Hosting.ApplicationModel.IResource,Microsoft.Extensions.Configuration.IConfiguration,Aspire.Hosting.ApplicationModel.SupportsDebuggingAnnotation@)" }, { "kind": "text", - "text": " to inspect the launch configuration the resource will send. " + "text": " to test for that. " } ] }, @@ -81137,24 +87290,326 @@ } ], "sourceFile": "src/Aspire.Hosting/SupportsDebuggingAnnotation.cs", - "sourceLines": "24-24", + "sourceLines": "20-20", "members": [ { - "name": "LaunchConfigurationType", + "name": "LaunchConfigurationType", + "kind": "property", + "accessibility": "public", + "signature": "public string SupportsDebuggingAnnotation.LaunchConfigurationType", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the launch configuration type identifier, for example " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.KnownLaunchConfigurationTypes.Project" + }, + { + "kind": "text", + "text": ". " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The IDE advertises the launch configuration types it can handle; a resource whose type is not advertised is started as a plain process instead. " + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Exception: when the active debug session does not provide a usable launch configuration capability list (for example Visual Studio, which does not send one), " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.KnownLaunchConfigurationTypes.Project" + }, + { + "kind": "text", + "text": " is treated as implicitly supported for non-file-based project resources. File-based C# apps require the IDE to advertise explicit project support. " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/SupportsDebuggingAnnotation.cs", + "sourceLines": "43-43" + } + ] + }, + { + "name": "TerminalLaunchOptions", + "fullName": "Aspire.Hosting.ApplicationModel.TerminalLaunchOptions", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Describes the process, initial grid, and placement of a terminal created by " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.TerminalService" + }, + { + "kind": "text", + "text": ". " + } + ], + "examples": [ + { + "code": "\n var options = new TerminalLaunchOptions\n {\n Title = \"Container shell\",\n Executable = \"docker\",\n Arguments = [\"exec\", \"-it\", containerName, \"/bin/sh\"]\n };\n ", + "language": "csharp" + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRETERMINAL001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs", + "sourceLines": "22-22", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public TerminalLaunchOptions.TerminalLaunchOptions()", + "returnType": "void", + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs", + "sourceLines": "64-112" + }, + { + "name": "Arguments", + "kind": "property", + "accessibility": "public", + "signature": "public IList TerminalLaunchOptions.Arguments", + "returnType": "System.Collections.Generic.IList", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the arguments passed to " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.TerminalLaunchOptions.Executable" + }, + { + "kind": "text", + "text": ". " + } + ], + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "paramref", + "value": "value" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs" + }, + { + "name": "Columns", + "kind": "property", + "accessibility": "public", + "signature": "public int TerminalLaunchOptions.Columns", + "returnType": "int", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the initial number of columns. Defaults to 80. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The process starts with this grid and retains it while no viewer requests a resize. Dock and interaction dialog viewers resize the grid to fit their available space when shown. " + } + ], + "exceptions": [ + { + "type": "T:System.ArgumentOutOfRangeException", + "description": [ + { + "kind": "paramref", + "value": "value" + }, + { + "kind": "text", + "text": " is less than one." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs" + }, + { + "name": "EnvironmentVariables", + "kind": "property", + "accessibility": "public", + "signature": "public IDictionary TerminalLaunchOptions.EnvironmentVariables", + "returnType": "System.Collections.Generic.IDictionary", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets environment variables applied to the process on top of the AppHost's own environment. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The process inherits the AppHost's environment. Entries add or override variables without replacing the rest of that environment, so interactive workloads retain inherited " + }, + { + "kind": "code", + "text": "PATH" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "HOME" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "TERM" + }, + { + "kind": "text", + "text": " values unless explicitly overridden. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs", + "sourceLines": "79-79" + }, + { + "name": "Executable", + "kind": "property", + "accessibility": "public", + "signature": "public string TerminalLaunchOptions.Executable", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the executable to run. Resolved against " + }, + { + "kind": "code", + "text": "PATH" + }, + { + "kind": "text", + "text": " when not fully qualified. " + } + ], + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "paramref", + "value": "value" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": "." + } + ] + }, + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "paramref", + "value": "value" + }, + { + "kind": "text", + "text": " is empty." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs" + }, + { + "name": "Placement", "kind": "property", "accessibility": "public", - "signature": "public string SupportsDebuggingAnnotation.LaunchConfigurationType", - "returnType": "string", + "signature": "public TerminalPlacement TerminalLaunchOptions.Placement", + "returnType": "Aspire.Hosting.ApplicationModel.TerminalPlacement", "hasGet": true, + "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the launch configuration type identifier, for example " + "text": " Gets or sets where the terminal is displayed. Defaults to " }, { "kind": "cref", - "value": "F:Aspire.Hosting.ApplicationModel.KnownLaunchConfigurationTypes.Project" + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.Dock" }, { "kind": "text", @@ -81164,29 +87619,125 @@ "remarks": [ { "kind": "text", - "text": " The IDE advertises the launch configuration types it can handle; a resource whose type is not advertised is started as a plain process instead. " + "text": " AppHost-owned terminals support " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": " Exception: when the active debug session does not advertise any launch configuration types at all (for example Visual Studio, which does not send a capability list), " - }, + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.Dock" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.Dialog" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.None" + }, + { + "kind": "text", + "text": ". " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.ResourceView" + }, + { + "kind": "text", + "text": " is reserved for terminals owned by resources and cannot be used when creating an AppHost-owned terminal. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs" + }, + { + "name": "Rows", + "kind": "property", + "accessibility": "public", + "signature": "public int TerminalLaunchOptions.Rows", + "returnType": "int", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the initial number of rows. Defaults to 24. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The process starts with this grid and retains it while no viewer requests a resize. Dock and interaction dialog viewers resize the grid to fit their available space when shown. " + } + ], + "exceptions": [ + { + "type": "T:System.ArgumentOutOfRangeException", + "description": [ { - "kind": "cref", - "value": "F:Aspire.Hosting.ApplicationModel.KnownLaunchConfigurationTypes.Project" + "kind": "paramref", + "value": "value" }, { "kind": "text", - "text": " is treated as implicitly supported rather than falling back to plain process execution. " + "text": " is less than one." } ] } ] }, - "sourceFile": "src/Aspire.Hosting/SupportsDebuggingAnnotation.cs", - "sourceLines": "49-49" + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs" + }, + { + "name": "Title", + "kind": "property", + "accessibility": "public", + "signature": "public string TerminalLaunchOptions.Title", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the title shown on the terminal's dock tab, and in the title bar when the terminal is detached into its own window. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The title must not be empty or consist only of white-space characters. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs" + }, + { + "name": "WorkingDirectory", + "kind": "property", + "accessibility": "public", + "signature": "public string? TerminalLaunchOptions.WorkingDirectory", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the working directory the process starts in. Defaults to the AppHost's working directory. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs" } ] }, @@ -81240,7 +87791,7 @@ "summary": [ { "kind": "text", - "text": " Gets or sets the initial number of columns for the terminal. The value must be greater than zero. Defaults to 120. " + "text": " Gets or sets the initial number of columns for the terminal. The value must be greater than zero. Defaults to 132. " } ], "exceptions": [ @@ -81269,7 +87820,7 @@ "summary": [ { "kind": "text", - "text": " Gets or sets the initial number of rows for the terminal. The value must be greater than zero. Defaults to 30. " + "text": " Gets or sets the initial number of rows for the terminal. The value must be greater than zero. Defaults to 50. " } ], "exceptions": [ @@ -81306,7 +87857,7 @@ }, { "kind": "text", - "text": ") should appear in the resource list. " + "text": ") should appear in the resource list and export diagnostic logs, metrics, and traces. " } ], "remarks": [ @@ -81320,7 +87871,7 @@ }, { "kind": "text", - "text": ": terminal host resources are hidden from the dashboard and CLI resource list because they are an implementation detail of the " + "text": ": terminal host resources are hidden from the dashboard and CLI resource list and do not export telemetry because they are an implementation detail of the " }, { "kind": "cref", @@ -81343,7 +87894,7 @@ }, { "kind": "text", - "text": " when diagnosing terminal-host startup / connectivity issues so the host's state, exit code, logs, and (eventually) telemetry are visible alongside the parent resource. This is useful when investigating cases like \"DCP never dialed the producer UDS\" or \"the host crashed during recycle\". " + "text": " when diagnosing terminal-host startup / connectivity issues so the host's state, exit code, and diagnostic telemetry are visible alongside the parent resource. Telemetry is exported when a dashboard OTLP endpoint is available. This is useful when investigating cases like \"DCP never dialed the producer UDS\" or \"the host crashed during recycle\". " } ] } @@ -81353,6 +87904,493 @@ } ] }, + { + "name": "TerminalOwner", + "fullName": "Aspire.Hosting.ApplicationModel.TerminalOwner", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "enum", + "accessibility": "public", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Identifies whether the AppHost or an application resource controls a terminal's workload lifetime. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Ownership is fixed when a terminal is created. It is distinct from " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.TerminalPlacement" + }, + { + "kind": "text", + "text": ", which describes where the terminal is displayed and is also fixed at creation. " + } + ] + }, + "enumMembers": [ + { + "name": "AppHost", + "value": 0, + "description": "The terminal is created by AppHost code, and its lifetime is controlled by whoever created it." + }, + { + "name": "Resource", + "value": 1, + "description": "The workload belongs to a resource in the application model, and its lifetime follows that resource." + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRETERMINAL001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalOwner.cs", + "sourceLines": "16-16", + "members": [] + }, + { + "name": "TerminalPlacement", + "fullName": "Aspire.Hosting.ApplicationModel.TerminalPlacement", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "enum", + "accessibility": "public", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Identifies where a terminal is displayed in the dashboard. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Placement is fixed when a terminal is created. It describes where the terminal is displayed, while " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.TerminalOwner" + }, + { + "kind": "text", + "text": " identifies which component owns its workload. " + } + ] + }, + "enumMembers": [ + { + "name": "Dock", + "value": 0, + "description": "The terminal is a tab in the dashboard's terminal dock, and is listed by the terminal watch stream." + }, + { + "name": "Dialog", + "value": 1, + "description": "The terminal can be displayed by PromptTerminalAsync. It remains caller-owned and is addressed directly by the dialog, not listed in the terminal dock." + }, + { + "name": "ResourceView", + "value": 2, + "description": "The terminal is displayed on the terminal view of the resource it belongs to." + }, + { + "name": "None", + "value": 3, + "description": "The terminal is not displayed anywhere." + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRETERMINAL001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalPlacement.cs", + "sourceLines": "16-16", + "members": [] + }, + { + "name": "TerminalService", + "fullName": "Aspire.Hosting.ApplicationModel.TerminalService", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "interfaces": [ + "System.IAsyncDisposable" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Manages terminals created and owned by the AppHost. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Two experiences share this service: terminals displayed by " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.IInteractionService.PromptTerminalAsync(System.String,Aspire.Hosting.ApplicationModel.AspireTerminal,Aspire.Hosting.TerminalInteractionOptions,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": " and terminals shown as tabs in the dashboard's terminal dock. They differ only in " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.TerminalPlacement" + }, + { + "kind": "text", + "text": "; the lifetime, transport, and automation machinery is identical. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " This is distinct from the terminal host, which exists solely to surface terminals for DCP-owned processes. Those are owned by the resource, reachable over a Unix domain socket, and are not tracked here. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Resolve it from the built AppHost's service provider: " + }, + { + "kind": "code", + "text": "app.Services.GetRequiredService()" + }, + { + "kind": "text", + "text": ". Only creation and lookup are public; the members the dashboard uses to attach transports and watch the dock's tab list are internal, because they are transport plumbing rather than something an AppHost author calls. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Each dashboard metadata watcher buffers up to 64 updates by default. Set " + }, + { + "kind": "code", + "text": "ASPIRE_TERMINAL_WATCH_BUFFER_CAPACITY" + }, + { + "kind": "text", + "text": " to a positive integer in the AppHost's configuration before starting the application to tune this limit. Overflow replaces queued changes with a current snapshot while preserving the latest pending request to show the dock. " + } + ] + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRETERMINAL001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalService.cs", + "sourceLines": "45-45", + "members": [ + { + "name": "CreateTerminal", + "kind": "method", + "accessibility": "public", + "signature": "public AspireTerminal TerminalService.CreateTerminal(TerminalLaunchOptions options)", + "returnType": "Aspire.Hosting.ApplicationModel.AspireTerminal", + "parameters": [ + { + "name": "options", + "type": "Aspire.Hosting.ApplicationModel.TerminalLaunchOptions" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Creates a terminal. The workload does not start until something needs it: the first viewer attaching, or the first automation call. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The options, including the argument and environment variable collections, are captured during this call. Changing or reusing " + }, + { + "kind": "paramref", + "value": "options" + }, + { + "kind": "text", + "text": " afterward does not affect the created terminal. The process still inherits the AppHost's environment when it starts. " + } + ], + "returns": [ + { + "kind": "text", + "text": " The terminal. Disposing it cancels the workload and removes the terminal from the dashboard; a dock terminal that is meant to outlive the call that created it should be left undisposed, and is torn down when the AppHost shuts down. " + } + ], + "parameters": { + "options": [ + { + "kind": "text", + "text": "Describes the terminal to create." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "paramref", + "value": "options" + }, + { + "kind": "text", + "text": " or its " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.TerminalLaunchOptions.Title" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "text", + "text": " The " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.TerminalLaunchOptions.Title" + }, + { + "kind": "text", + "text": " is empty or consists only of white-space characters. " + } + ] + }, + { + "type": "T:System.ArgumentOutOfRangeException", + "description": [ + { + "kind": "text", + "text": " The placement in " + }, + { + "kind": "paramref", + "value": "options" + }, + { + "kind": "text", + "text": " is not " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.Dock" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.Dialog" + }, + { + "kind": "text", + "text": ", or " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.ApplicationModel.TerminalPlacement.None" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + { + "type": "T:System.IO.IOException", + "description": [ + { + "kind": "text", + "text": " On Windows, the PTY socket directory does not use a supported Aspire layout or cannot be created. " + } + ] + }, + { + "type": "T:System.UnauthorizedAccessException", + "description": [ + { + "kind": "text", + "text": " On Windows, the PTY socket directory permissions cannot be applied. " + } + ] + }, + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": " On Windows, no user profile directory is available for the default PTY socket directory. " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalService.cs", + "sourceLines": "115-117" + }, + { + "name": "DisposeAsync", + "kind": "method", + "accessibility": "public", + "signature": "public ValueTask TerminalService.DisposeAsync()", + "returnType": "System.Threading.Tasks.ValueTask", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Stops and awaits teardown of every terminal this service owns. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Teardown starts concurrently for all terminals. Repeated calls await the same cleanup operation. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A task that completes when all terminal workloads and transports have been disposed." + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalService.cs", + "sourceLines": "477-506" + }, + { + "name": "TryGetTerminal", + "kind": "method", + "accessibility": "public", + "signature": "public bool TerminalService.TryGetTerminal(string terminalId, out AspireTerminal? terminal)", + "returnType": "bool", + "parameters": [ + { + "name": "terminalId", + "type": "string" + }, + { + "name": "terminal", + "type": "Aspire.Hosting.ApplicationModel.AspireTerminal?", + "isNullable": true, + "modifier": "out" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets a terminal by id. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Resolves terminals the AppHost owns as well as those belonging to resources, so automation code can drive either kind through the same handle without knowing which it has. " + } + ], + "returns": [ + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": " if the terminal was found." + } + ], + "parameters": { + "terminal": [ + { + "kind": "text", + "text": "The terminal, if one with that id exists." + } + ], + "terminalId": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.AspireTerminal.Id" + }, + { + "kind": "text", + "text": " of the terminal to find." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/TerminalService.cs", + "sourceLines": "234-249" + } + ] + }, { "name": "UpdateCommandStateContext", "fullName": "Aspire.Hosting.ApplicationModel.UpdateCommandStateContext", @@ -82471,6 +89509,394 @@ } ] }, + { + "name": "VolumeMountBindingAnnotation", + "fullName": "Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation", + "namespace": "Aspire.Hosting.ApplicationModel", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IResourceAnnotation" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Describes how a named volume binds to a resource across the inner and outer loop. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " This annotation is the extensibility point compute environments use to participate in the portable volume path convention. It carries two independent facets, either of which may be absent: " + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.EnvironmentVariableName" + }, + { + "kind": "text", + "text": " records that the workload reads the effective storage path from an environment variable. The variable itself is written by an " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.EnvironmentCallbackAnnotation" + }, + { + "kind": "text", + "text": " whose closure captures the name, which makes the intent invisible to anything inspecting the model. Restating it here lets a compute environment tell whether a host process materializes a local backing store for the volume, without having to observe the callback running. " + } + ] + }, + { + "description": [ + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.RunModeHostPathResolver" + }, + { + "kind": "text", + "text": " lets a compute environment supply the local directory that backs the volume in run mode. Without it, host processes fall back to a workload-scoped directory under " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IAspireStore" + }, + { + "kind": "text", + "text": ". " + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " The two facets are produced by different parties at different times — the AppHost author opts into the environment variable, while the compute environment supplies the local path — so a resource can carry several of these annotations for the same " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.VolumeName" + }, + { + "kind": "text", + "text": ". A binding resolves through its own " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.RunModeHostPathResolver" + }, + { + "kind": "text", + "text": " when it has one, and otherwise takes the last sibling that does. " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.VolumeName" + }, + { + "kind": "text", + "text": " alone is not a unique key, because separate compute environments can each declare a volume under the same name. " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/VolumeMountBindingAnnotation.cs", + "sourceLines": "41-41", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public VolumeMountBindingAnnotation.VolumeMountBindingAnnotation(string volumeName)", + "returnType": "void", + "parameters": [ + { + "name": "volumeName", + "type": "string" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Describes how a named volume binds to a resource across the inner and outer loop. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " This annotation is the extensibility point compute environments use to participate in the portable volume path convention. It carries two independent facets, either of which may be absent: " + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.EnvironmentVariableName" + }, + { + "kind": "text", + "text": " records that the workload reads the effective storage path from an environment variable. The variable itself is written by an " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.EnvironmentCallbackAnnotation" + }, + { + "kind": "text", + "text": " whose closure captures the name, which makes the intent invisible to anything inspecting the model. Restating it here lets a compute environment tell whether a host process materializes a local backing store for the volume, without having to observe the callback running. " + } + ] + }, + { + "description": [ + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.RunModeHostPathResolver" + }, + { + "kind": "text", + "text": " lets a compute environment supply the local directory that backs the volume in run mode. Without it, host processes fall back to a workload-scoped directory under " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IAspireStore" + }, + { + "kind": "text", + "text": ". " + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " The two facets are produced by different parties at different times — the AppHost author opts into the environment variable, while the compute environment supplies the local path — so a resource can carry several of these annotations for the same " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.VolumeName" + }, + { + "kind": "text", + "text": ". A binding resolves through its own " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.RunModeHostPathResolver" + }, + { + "kind": "text", + "text": " when it has one, and otherwise takes the last sibling that does. " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.VolumeName" + }, + { + "kind": "text", + "text": " alone is not a unique key, because separate compute environments can each declare a volume under the same name. " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/VolumeMountBindingAnnotation.cs", + "sourceLines": "41-46" + }, + { + "name": "ResolvePath", + "kind": "method", + "accessibility": "public", + "signature": "public string VolumeMountBindingAnnotation.ResolvePath(EnvironmentCallbackContext context)", + "returnType": "string", + "parameters": [ + { + "name": "context", + "type": "Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Resolves the storage path the workload should use for the current execution mode. " + } + ], + "returns": [ + { + "kind": "cref", + "value": "P:Aspire.Hosting.ApplicationModel.VolumeMountBindingAnnotation.MountPath" + }, + { + "kind": "text", + "text": " when publishing or when the workload runs as a container, and otherwise a local host directory. " + } + ], + "parameters": { + "context": [ + { + "kind": "text", + "text": "The environment callback context being evaluated." + } + ] + }, + "exceptions": [ + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": " Thrown when the deployed mount path is required but this binding does not declare one. " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/VolumeMountBindingAnnotation.cs", + "sourceLines": "79-120" + }, + { + "name": "EnvironmentVariableName", + "kind": "property", + "accessibility": "public", + "signature": "public string? VolumeMountBindingAnnotation.EnvironmentVariableName", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the environment variable that receives the effective storage path, or " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": " when this binding only supplies a run-mode path. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/VolumeMountBindingAnnotation.cs" + }, + { + "name": "MountPath", + "kind": "property", + "accessibility": "public", + "signature": "public string? VolumeMountBindingAnnotation.MountPath", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the path the volume is mounted at once deployed, or " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": " when this binding only supplies a run-mode path for a mount declared elsewhere. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/VolumeMountBindingAnnotation.cs" + }, + { + "name": "RunModeHostPathResolver", + "kind": "property", + "accessibility": "public", + "signature": "public Func? VolumeMountBindingAnnotation.RunModeHostPathResolver", + "returnType": "System.Func?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets a callback that returns the local host directory backing the volume in run mode, or " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": " to use the default workload-scoped directory under " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IAspireStore" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/VolumeMountBindingAnnotation.cs" + }, + { + "name": "VolumeName", + "kind": "property", + "accessibility": "public", + "signature": "public string VolumeMountBindingAnnotation.VolumeName", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the name of the volume this binding applies to. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/ApplicationModel/VolumeMountBindingAnnotation.cs", + "sourceLines": "46-46" + } + ] + }, { "name": "VolumeSnapshot", "fullName": "Aspire.Hosting.ApplicationModel.VolumeSnapshot", @@ -86967,7 +94393,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Pipelines/DeploymentStateSection.cs", - "sourceLines": "19-47" + "sourceLines": "19-49" }, { "name": "SetValue", @@ -86998,7 +94424,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Pipelines/DeploymentStateSection.cs", - "sourceLines": "55-57" + "sourceLines": "57-59" }, { "name": "Data", @@ -87186,7 +94612,142 @@ } }, "sourceFile": "src/Aspire.Hosting/Pipelines/DistributedApplicationPipelineExtensions.cs", - "sourceLines": "27-36" + "sourceLines": "74-83" + }, + { + "name": "WithFinalAction", + "kind": "method", + "accessibility": "public", + "signature": "public static IDistributedApplicationPipeline DistributedApplicationPipelineExtensions.WithFinalAction(this IDistributedApplicationPipeline pipeline, string stepName, Func action)", + "returnType": "Aspire.Hosting.Pipelines.IDistributedApplicationPipeline", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "pipeline", + "type": "Aspire.Hosting.Pipelines.IDistributedApplicationPipeline", + "modifier": "this" + }, + { + "name": "stepName", + "type": "string" + }, + { + "name": "action", + "type": "System.Func" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Delegate callbacks are not ATS-compatible." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures an action that runs after the named pipeline step and all of its dependencies complete. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The final action is configured when the pipeline graph is resolved, so it runs after dependencies added by resource annotations and other pipeline configuration callbacks. Multiple final actions for the same step execute sequentially in registration order. If a final action fails, subsequent final actions are not invoked. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The distributed application pipeline for chaining." + } + ], + "parameters": { + "action": [ + { + "kind": "text", + "text": "A final action to execute." + } + ], + "pipeline": [ + { + "kind": "text", + "text": "The distributed application pipeline." + } + ], + "stepName": [ + { + "kind": "text", + "text": "The name of the pipeline step." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "text", + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "pipeline" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "paramref", + "value": "stepName" + }, + { + "kind": "text", + "text": ", or " + }, + { + "kind": "paramref", + "value": "action" + }, + { + "kind": "text", + "text": " is null. " + } + ] + }, + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "text", + "text": "Thrown when " + }, + { + "kind": "paramref", + "value": "stepName" + }, + { + "kind": "text", + "text": " is empty." + } + ] + }, + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": " Thrown during pipeline resolution when the named step does not exist. " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Pipelines/DistributedApplicationPipelineExtensions.cs", + "sourceLines": "40-58" } ] }, @@ -87218,6 +94779,69 @@ "sourceFile": "src/Aspire.Hosting/Pipelines/IDeploymentStateManager.cs", "sourceLines": "12-12", "members": [ + { + "name": "AcquireCurrentSectionAsync", + "kind": "method", + "accessibility": "public", + "signature": "public virtual Task IDeploymentStateManager.AcquireCurrentSectionAsync(string sectionName, CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", + "isVirtual": true, + "parameters": [ + { + "name": "sectionName", + "type": "string" + }, + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Acquires a specific section from the current deployment state without falling back to legacy state. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Implementations that support legacy-state fallback must override this member. The default is provided for compatibility with state managers whose " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.Pipelines.IDeploymentStateManager.AcquireSectionAsync(System.String,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": " already reads only current state. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A StateSection containing the current section data and version information." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "The cancellation token." + } + ], + "sectionName": [ + { + "kind": "text", + "text": "The name of the section to acquire (e.g., \"Parameters\", \"Azure\")." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/Pipelines/IDeploymentStateManager.cs", + "sourceLines": "39-39" + }, { "name": "AcquireSectionAsync", "kind": "method", @@ -89828,7 +97452,7 @@ "signature": "public PipelineStep.PipelineStep()", "returnType": "void", "sourceFile": "src/Aspire.Hosting/Pipelines/PipelineStep.cs", - "sourceLines": "42-53" + "sourceLines": "20-57" }, { "name": "DependsOn", @@ -89864,7 +97488,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Pipelines/PipelineStep.cs", - "sourceLines": "68-69" + "sourceLines": "72-73" }, { "name": "DependsOn", @@ -89895,7 +97519,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Pipelines/PipelineStep.cs", - "sourceLines": "77-78" + "sourceLines": "81-82" }, { "name": "RequiredBy", @@ -89931,7 +97555,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Pipelines/PipelineStep.cs", - "sourceLines": "88-89" + "sourceLines": "92-93" }, { "name": "RequiredBy", @@ -89962,7 +97586,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Pipelines/PipelineStep.cs", - "sourceLines": "109-110" + "sourceLines": "113-114" }, { "name": "Action", @@ -94511,7 +102135,7 @@ } ], "sourceFile": "src/Aspire.Hosting/Publishing/ResourceContainerImageManager.cs", - "sourceLines": "99-99", + "sourceLines": "104-104", "members": [ { "name": ".ctor", @@ -94642,6 +102266,425 @@ } ] }, + { + "name": "ContainerImageConfig", + "fullName": "Aspire.Hosting.Publishing.ContainerImageConfig", + "namespace": "Aspire.Hosting.Publishing", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents typed container image configuration metadata. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRECONTAINERRUNTIME001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "34-34", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public ContainerImageConfig.ContainerImageConfig(IReadOnlyList entrypoint, IReadOnlyList command, string? workingDirectory)", + "returnType": "void", + "parameters": [ + { + "name": "entrypoint", + "type": "System.Collections.Generic.IReadOnlyList" + }, + { + "name": "command", + "type": "System.Collections.Generic.IReadOnlyList" + }, + { + "name": "workingDirectory", + "type": "string?", + "isNullable": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Initializes a new instance of the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Publishing.ContainerImageConfig" + }, + { + "kind": "text", + "text": " class. " + } + ], + "parameters": { + "command": [ + { + "kind": "text", + "text": "The default image command." + } + ], + "entrypoint": [ + { + "kind": "text", + "text": "The image entrypoint." + } + ], + "workingDirectory": [ + { + "kind": "text", + "text": "The image working directory." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "42-53" + }, + { + "name": "Command", + "kind": "property", + "accessibility": "public", + "signature": "public IReadOnlyList ContainerImageConfig.Command", + "returnType": "System.Collections.Generic.IReadOnlyList", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the default image command. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "63-63" + }, + { + "name": "Entrypoint", + "kind": "property", + "accessibility": "public", + "signature": "public IReadOnlyList ContainerImageConfig.Entrypoint", + "returnType": "System.Collections.Generic.IReadOnlyList", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the image entrypoint. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "58-58" + }, + { + "name": "WorkingDirectory", + "kind": "property", + "accessibility": "public", + "signature": "public string? ContainerImageConfig.WorkingDirectory", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the image working directory. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "68-68" + } + ] + }, + { + "name": "ContainerImageConfigInspectionResult", + "fullName": "Aspire.Hosting.Publishing.ContainerImageConfigInspectionResult", + "namespace": "Aspire.Hosting.Publishing", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents the result of inspecting a container image configuration. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRECONTAINERRUNTIME001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "75-75", + "members": [ + { + "name": "Failure", + "kind": "method", + "accessibility": "public", + "signature": "public static ContainerImageConfigInspectionResult ContainerImageConfigInspectionResult.Failure(string errorMessage, string? rawJson = null)", + "returnType": "Aspire.Hosting.Publishing.ContainerImageConfigInspectionResult", + "isStatic": true, + "parameters": [ + { + "name": "errorMessage", + "type": "string" + }, + { + "name": "rawJson", + "type": "string?", + "isNullable": true, + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Creates a failed image configuration inspection result. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A failed image configuration inspection result." + } + ], + "parameters": { + "errorMessage": [ + { + "kind": "text", + "text": "The failure description." + } + ], + "rawJson": [ + { + "kind": "text", + "text": "The runtime-native JSON returned by the inspection command, when available." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "145-151" + }, + { + "name": "Success", + "kind": "method", + "accessibility": "public", + "signature": "public static ContainerImageConfigInspectionResult ContainerImageConfigInspectionResult.Success(ContainerImageConfig config, string? rawJson = null)", + "returnType": "Aspire.Hosting.Publishing.ContainerImageConfigInspectionResult", + "isStatic": true, + "parameters": [ + { + "name": "config", + "type": "Aspire.Hosting.Publishing.ContainerImageConfig" + }, + { + "name": "rawJson", + "type": "string?", + "isNullable": true, + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Creates a successful image configuration inspection result. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A successful image configuration inspection result." + } + ], + "parameters": { + "config": [ + { + "kind": "text", + "text": "The inspected image configuration." + } + ], + "rawJson": [ + { + "kind": "text", + "text": "The runtime-native JSON returned by the inspection command, when available." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "128-134" + }, + { + "name": "TryGetConfig", + "kind": "method", + "accessibility": "public", + "signature": "public bool ContainerImageConfigInspectionResult.TryGetConfig(out ContainerImageConfig? config)", + "returnType": "bool", + "parameters": [ + { + "name": "config", + "type": "Aspire.Hosting.Publishing.ContainerImageConfig?", + "isNullable": true, + "modifier": "out" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Attempts to retrieve the typed image configuration. " + } + ], + "returns": [ + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": " when typed configuration metadata is available; otherwise, " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "config": [ + { + "kind": "text", + "text": "The image configuration when inspection succeeded." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "113-117" + }, + { + "name": "ErrorMessage", + "kind": "property", + "accessibility": "public", + "signature": "public string? ContainerImageConfigInspectionResult.ErrorMessage", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the failure description when " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Publishing.ContainerImageConfigInspectionResult.Status" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.Publishing.ContainerImageInspectionStatus.Failed" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "104-104" + }, + { + "name": "RawJson", + "kind": "property", + "accessibility": "public", + "signature": "public string? ContainerImageConfigInspectionResult.RawJson", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the runtime-native JSON returned by the inspection command, when available. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "99-99" + }, + { + "name": "Status", + "kind": "property", + "accessibility": "public", + "signature": "public ContainerImageInspectionStatus ContainerImageConfigInspectionResult.Status", + "returnType": "Aspire.Hosting.Publishing.ContainerImageInspectionStatus", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the inspection status. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "94-94" + }, + { + "name": "Unsupported", + "kind": "property", + "accessibility": "public", + "signature": "public static ContainerImageConfigInspectionResult ContainerImageConfigInspectionResult.Unsupported", + "returnType": "Aspire.Hosting.Publishing.ContainerImageConfigInspectionResult", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets an image configuration inspection result for a runtime that does not support inspection. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "157-157" + } + ] + }, { "name": "ContainerImageDestination", "fullName": "Aspire.Hosting.Publishing.ContainerImageDestination", @@ -94722,6 +102765,507 @@ "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageFormat.cs", "members": [] }, + { + "name": "ContainerImageInspectionStatus", + "fullName": "Aspire.Hosting.Publishing.ContainerImageInspectionStatus", + "namespace": "Aspire.Hosting.Publishing", + "kind": "enum", + "accessibility": "public", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Describes the outcome of a container image inspection operation. " + } + ] + }, + "enumMembers": [ + { + "name": "Succeeded", + "value": 0, + "description": "The inspection completed successfully." + }, + { + "name": "Unsupported", + "value": 1, + "description": "The container runtime does not support the requested inspection." + }, + { + "name": "Failed", + "value": 2, + "description": "The inspection failed." + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRECONTAINERRUNTIME001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionStatus.cs", + "members": [] + }, + { + "name": "ContainerImageManifest", + "fullName": "Aspire.Hosting.Publishing.ContainerImageManifest", + "namespace": "Aspire.Hosting.Publishing", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents a platform-specific container image manifest. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRECONTAINERRUNTIME001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "168-168", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public ContainerImageManifest.ContainerImageManifest(string digest, string operatingSystem, string architecture)", + "returnType": "void", + "parameters": [ + { + "name": "digest", + "type": "string" + }, + { + "name": "operatingSystem", + "type": "string" + }, + { + "name": "architecture", + "type": "string" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Initializes a new instance of the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Publishing.ContainerImageManifest" + }, + { + "kind": "text", + "text": " class. " + } + ], + "parameters": { + "architecture": [ + { + "kind": "text", + "text": "The target architecture." + } + ], + "digest": [ + { + "kind": "text", + "text": "The immutable manifest digest." + } + ], + "operatingSystem": [ + { + "kind": "text", + "text": "The target operating system." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "text", + "text": "Thrown when " + }, + { + "kind": "paramref", + "value": "digest" + }, + { + "kind": "text", + "text": " is not a lowercase SHA-256 digest or another argument is empty." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "177-192" + }, + { + "name": "Architecture", + "kind": "property", + "accessibility": "public", + "signature": "public string ContainerImageManifest.Architecture", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the target architecture. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "207-207" + }, + { + "name": "Digest", + "kind": "property", + "accessibility": "public", + "signature": "public string ContainerImageManifest.Digest", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the immutable manifest digest. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "197-197" + }, + { + "name": "OperatingSystem", + "kind": "property", + "accessibility": "public", + "signature": "public string ContainerImageManifest.OperatingSystem", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the target operating system. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "202-202" + } + ] + }, + { + "name": "ContainerImageManifestInspectionResult", + "fullName": "Aspire.Hosting.Publishing.ContainerImageManifestInspectionResult", + "namespace": "Aspire.Hosting.Publishing", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents the result of inspecting a container image manifest. " + } + ] + }, + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIRECONTAINERRUNTIME001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "234-234", + "members": [ + { + "name": "Failure", + "kind": "method", + "accessibility": "public", + "signature": "public static ContainerImageManifestInspectionResult ContainerImageManifestInspectionResult.Failure(string errorMessage, string? rawJson = null)", + "returnType": "Aspire.Hosting.Publishing.ContainerImageManifestInspectionResult", + "isStatic": true, + "parameters": [ + { + "name": "errorMessage", + "type": "string" + }, + { + "name": "rawJson", + "type": "string?", + "isNullable": true, + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Creates a failed image manifest inspection result. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A failed image manifest inspection result." + } + ], + "parameters": { + "errorMessage": [ + { + "kind": "text", + "text": "The failure description." + } + ], + "rawJson": [ + { + "kind": "text", + "text": "The runtime-native JSON returned by the inspection command, when available." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "317-323" + }, + { + "name": "Success", + "kind": "method", + "accessibility": "public", + "signature": "public static ContainerImageManifestInspectionResult ContainerImageManifestInspectionResult.Success(IReadOnlyList manifests, string? rawJson = null)", + "returnType": "Aspire.Hosting.Publishing.ContainerImageManifestInspectionResult", + "isStatic": true, + "parameters": [ + { + "name": "manifests", + "type": "System.Collections.Generic.IReadOnlyList" + }, + { + "name": "rawJson", + "type": "string?", + "isNullable": true, + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Creates a successful image manifest inspection result. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A successful image manifest inspection result." + } + ], + "parameters": { + "manifests": [ + { + "kind": "text", + "text": "The inspected platform-specific image manifests." + } + ], + "rawJson": [ + { + "kind": "text", + "text": "The runtime-native JSON returned by the inspection command, when available." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "297-306" + }, + { + "name": "TryGetManifest", + "kind": "method", + "accessibility": "public", + "signature": "public bool ContainerImageManifestInspectionResult.TryGetManifest(string operatingSystem, string architecture, out ContainerImageManifest? manifest)", + "returnType": "bool", + "parameters": [ + { + "name": "operatingSystem", + "type": "string" + }, + { + "name": "architecture", + "type": "string" + }, + { + "name": "manifest", + "type": "Aspire.Hosting.Publishing.ContainerImageManifest?", + "isNullable": true, + "modifier": "out" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Attempts to retrieve a manifest for the requested platform. " + } + ], + "returns": [ + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": " when a matching manifest is available; otherwise, " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "architecture": [ + { + "kind": "text", + "text": "The target architecture." + } + ], + "manifest": [ + { + "kind": "text", + "text": "The matching manifest when one is available." + } + ], + "operatingSystem": [ + { + "kind": "text", + "text": "The target operating system." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "277-284" + }, + { + "name": "ErrorMessage", + "kind": "property", + "accessibility": "public", + "signature": "public string? ContainerImageManifestInspectionResult.ErrorMessage", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the failure description when " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Publishing.ContainerImageManifestInspectionResult.Status" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "cref", + "value": "F:Aspire.Hosting.Publishing.ContainerImageInspectionStatus.Failed" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "263-263" + }, + { + "name": "RawJson", + "kind": "property", + "accessibility": "public", + "signature": "public string? ContainerImageManifestInspectionResult.RawJson", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the runtime-native JSON returned by the inspection command, when available. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "258-258" + }, + { + "name": "Status", + "kind": "property", + "accessibility": "public", + "signature": "public ContainerImageInspectionStatus ContainerImageManifestInspectionResult.Status", + "returnType": "Aspire.Hosting.Publishing.ContainerImageInspectionStatus", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the inspection status. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "253-253" + }, + { + "name": "Unsupported", + "kind": "property", + "accessibility": "public", + "signature": "public static ContainerImageManifestInspectionResult ContainerImageManifestInspectionResult.Unsupported", + "returnType": "Aspire.Hosting.Publishing.ContainerImageManifestInspectionResult", + "isStatic": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets an image manifest inspection result for a runtime that does not support inspection. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting/Publishing/ContainerImageInspectionResult.cs", + "sourceLines": "329-329" + } + ] + }, { "name": "ContainerTargetPlatform", "fullName": "Aspire.Hosting.Publishing.ContainerTargetPlatform", @@ -95102,6 +103646,102 @@ ] } }, + { + "name": "InspectImageConfigAsync", + "kind": "method", + "accessibility": "public", + "signature": "public virtual Task IContainerRuntime.InspectImageConfigAsync(string imageName, CancellationToken cancellationToken)", + "returnType": "System.Threading.Tasks.Task", + "isVirtual": true, + "parameters": [ + { + "name": "imageName", + "type": "string" + }, + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Inspects a container image configuration. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The image configuration inspection result." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "A token to cancel the operation." + } + ], + "imageName": [ + { + "kind": "text", + "text": "The image name or reference to inspect." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/Publishing/IContainerRuntime.cs", + "sourceLines": "101-101" + }, + { + "name": "InspectImageManifestAsync", + "kind": "method", + "accessibility": "public", + "signature": "public virtual Task IContainerRuntime.InspectImageManifestAsync(string imageName, CancellationToken cancellationToken)", + "returnType": "System.Threading.Tasks.Task", + "isVirtual": true, + "parameters": [ + { + "name": "imageName", + "type": "string" + }, + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Inspects a container image manifest. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The image manifest inspection result." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "A token to cancel the operation." + } + ], + "imageName": [ + { + "kind": "text", + "text": "The image name or reference to inspect." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting/Publishing/IContainerRuntime.cs", + "sourceLines": "110-110" + }, { "name": "LoginToRegistryAsync", "kind": "method", @@ -95652,7 +104292,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "21-21", + "sourceLines": "23-23", "members": [ { "name": ".ctor", @@ -95714,7 +104354,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "21-53" + "sourceLines": "23-55" }, { "name": "GetManifestRelativePath", @@ -95764,7 +104404,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "64-75" + "sourceLines": "66-77" }, { "name": "TryAddDependentResources", @@ -95812,7 +104452,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "669-697" + "sourceLines": "677-705" }, { "name": "WriteBindings", @@ -95875,7 +104515,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "491-527" + "sourceLines": "499-535" }, { "name": "WriteCommandLineArgumentsAsync", @@ -95952,7 +104592,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "573-600" + "sourceLines": "581-608" }, { "name": "WriteConnectionString", @@ -95991,7 +104631,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "475-481" + "sourceLines": "483-489" }, { "name": "WriteContainerAsync", @@ -96041,7 +104681,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "317-366" + "sourceLines": "325-374" }, { "name": "WriteEnvironmentVariablesAsync", @@ -96104,7 +104744,7 @@ } }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "535-564" + "sourceLines": "543-572" }, { "name": "CancellationToken", @@ -96122,7 +104762,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "41-41" + "sourceLines": "43-43" }, { "name": "ExecutionContext", @@ -96140,7 +104780,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "26-26" + "sourceLines": "28-28" }, { "name": "ManifestPath", @@ -96158,7 +104798,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "31-31" + "sourceLines": "33-33" }, { "name": "Writer", @@ -96176,7 +104816,7 @@ ] }, "sourceFile": "src/Aspire.Hosting/Publishing/ManifestPublishingContext.cs", - "sourceLines": "36-36" + "sourceLines": "38-38" } ] }, diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.AgentFramework.DevUI.1.22.0-preview.260918.1.json b/src/frontend/src/data/pkgs/Aspire.Hosting.AgentFramework.DevUI.1.23.0-preview.260928.1.json similarity index 98% rename from src/frontend/src/data/pkgs/Aspire.Hosting.AgentFramework.DevUI.1.22.0-preview.260918.1.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.AgentFramework.DevUI.1.23.0-preview.260928.1.json index 0982705f2..b49b7bf78 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.AgentFramework.DevUI.1.22.0-preview.260918.1.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.AgentFramework.DevUI.1.23.0-preview.260928.1.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.AgentFramework.DevUI", - "version": "1.22.0-preview.260918.1", + "version": "1.23.0-preview.260928.1", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/agent-framework", - "sourceCommit": "0c9944cc9f577d51277ac7c55dbc388b60a577af" + "sourceCommit": "8e6bf37c6d26e4b8e43941c70dfcbe56874ebe4a" }, "types": [ { @@ -90,6 +90,15 @@ "text": " This resource is excluded from the deployment manifest as it is intended for development use only. " } ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Keep the UI and aggregator accessible only to trusted developers. Adding this resource does not configure authentication, endpoint authorization, or per-user isolation on backend agent services. Protect independently reachable backends separately, and ensure any client/proxy credential flow matches their requirements. A shared development credential is not a per-user isolation identity. " + } + ] } ], "returns": [ diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.13.6.0.json similarity index 98% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.13.6.0.json index 149f88ef9..7f2e21bcc 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -6862,7 +6862,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure/AzureEnvironmentResourceExtensions.cs", - "sourceLines": "28-88" + "sourceLines": "28-90" }, { "name": "WithLocation", @@ -6948,7 +6948,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure/AzureEnvironmentResourceExtensions.cs", - "sourceLines": "116-121" + "sourceLines": "118-123" }, { "name": "WithResourceGroup", @@ -7034,7 +7034,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure/AzureEnvironmentResourceExtensions.cs", - "sourceLines": "141-146" + "sourceLines": "143-148" } ] }, @@ -7813,7 +7813,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure/AzurePublishingContext.cs", - "sourceLines": "28-74" + "sourceLines": "28-94" }, { "name": "WriteModelAsync", @@ -7871,7 +7871,125 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure/AzurePublishingContext.cs", - "sourceLines": "85-114" + "sourceLines": "105-134" + }, + { + "name": "ExcludeMainBicepFile", + "kind": "property", + "accessibility": "public", + "signature": "public bool AzurePublishingContext.ExcludeMainBicepFile", + "returnType": "bool", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets a value indicating whether the root main.bicep file is excluded from the published output. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Callers of this class might not need main.bicep. A publisher that deploys each resource module directly from its own deployment manifest never consumes the root template. Although Azure.Provisioning can emit that template, a later Bicep compilation can fail for models the individual modules handle correctly. For example, the generated root always passes " + }, + { + "kind": "code", + "text": "location" + }, + { + "kind": "text", + "text": " to each module, but a tenant-scoped module does not declare a " + }, + { + "kind": "code", + "text": "location" + }, + { + "kind": "text", + "text": " parameter, resulting in " + }, + { + "kind": "code", + "text": "BCP037" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " When set to " + }, + { + "kind": "langword", + "value": "true" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.Azure.AzurePublishingContext.WriteModelAsync(Aspire.Hosting.ApplicationModel.DistributedApplicationModel,Aspire.Hosting.Azure.AzureEnvironmentResource,System.Threading.CancellationToken)" + }, + { + "kind": "text", + "text": " still writes every per-resource Bicep module and populates " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Azure.AzurePublishingContext.ParameterLookup" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Azure.AzurePublishingContext.OutputLookup" + }, + { + "kind": "text", + "text": " against " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Azure.AzurePublishingContext.MainInfrastructure" + }, + { + "kind": "text", + "text": ". " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Azure.AzurePublishingContext.MainInfrastructure" + }, + { + "kind": "text", + "text": " remains available in memory, but it is never built, compiled, or written to disk. The default is " + }, + { + "kind": "langword", + "value": "false" + }, + { + "kind": "text", + "text": ". " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Azure/AzurePublishingContext.cs" }, { "name": "MainInfrastructure", @@ -7937,7 +8055,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure/AzurePublishingContext.cs", - "sourceLines": "65-65" + "sourceLines": "85-85" }, { "name": "ParameterLookup", @@ -7985,7 +8103,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure/AzurePublishingContext.cs", - "sourceLines": "56-56" + "sourceLines": "76-76" } ] }, diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppConfiguration.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppConfiguration.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppConfiguration.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppConfiguration.13.6.0.json index 88cee1054..ba49fabf9 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppConfiguration.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppConfiguration.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.AppConfiguration", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -116,7 +116,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppConfiguration/AzureAppConfigurationExtensions.cs", - "sourceLines": "37-87" + "sourceLines": "39-89" }, { "name": "RunAsEmulator", @@ -210,7 +210,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppConfiguration/AzureAppConfigurationExtensions.cs", - "sourceLines": "104-126" + "sourceLines": "106-129" }, { "name": "WithDataBindMount", @@ -283,7 +283,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppConfiguration/AzureAppConfigurationExtensions.cs", - "sourceLines": "138-140" + "sourceLines": "141-143" }, { "name": "WithDataVolume", @@ -356,7 +356,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppConfiguration/AzureAppConfigurationExtensions.cs", - "sourceLines": "152-154" + "sourceLines": "155-157" }, { "name": "WithHostPort", @@ -428,7 +428,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppConfiguration/AzureAppConfigurationExtensions.cs", - "sourceLines": "167-172" + "sourceLines": "170-175" }, { "name": "WithRoleAssignments", diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppContainers.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppContainers.13.6.0.json similarity index 95% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppContainers.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppContainers.13.6.0.json index 1609d2322..a0d71d920 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppContainers.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppContainers.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.AppContainers", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -294,7 +294,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppExtensions.cs", - "sourceLines": "270-663" + "sourceLines": "270-678" }, { "name": "AddAzureContainerAppsInfrastructure", @@ -338,6 +338,91 @@ "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppExtensions.cs", "sourceLines": "42-42" }, + { + "name": "AsExpress", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder AzureContainerAppExtensions.AsExpress(this IResourceBuilder builder)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + }, + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREACAEXPRESS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures the container app environment to publish and deploy HTTP applications using Azure Container Apps Express. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Express defaults to zero minimum replicas and does not provision the managed Aspire dashboard. Explicit replica settings and infrastructure customization are preserved. Azure validates service compatibility. App-to-app references require explicitly public HTTP endpoints. References to apps in Express environments use HTTPS; cross-environment references preserve the producer's configured scheme. Local execution is unchanged. When combined with existing-resource configuration, the existing environment must already use Express. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The resource builder for chaining." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The container app environment to configure." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "text", + "text": "Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": " is null." + } + ] + } + ], + "examples": [ + { + "code": "\n builder.AddAzureContainerAppEnvironment(\"env\").AsExpress();\n ", + "language": "csharp" + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppExtensions.cs", + "sourceLines": "1045-1048" + }, { "name": "WithAcrPullIdentity", "kind": "method", @@ -597,7 +682,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppExtensions.cs", - "sourceLines": "1110-1115" + "sourceLines": "1155-1160" }, { "name": "WithAzdResourceNaming", @@ -652,7 +737,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppExtensions.cs", - "sourceLines": "915-916" + "sourceLines": "930-931" }, { "name": "WithAzureLogAnalyticsWorkspace", @@ -742,7 +827,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppExtensions.cs", - "sourceLines": "1052-1058" + "sourceLines": "1097-1103" }, { "name": "WithCompactResourceNaming", @@ -889,7 +974,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppExtensions.cs", - "sourceLines": "947-948" + "sourceLines": "962-963" }, { "name": "WithDashboard", @@ -946,7 +1031,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppExtensions.cs", - "sourceLines": "1017-1018" + "sourceLines": "1061-1062" }, { "name": "WithHttpsUpgrade", @@ -992,7 +1077,7 @@ }, { "kind": "text", - "text": "), HTTP endpoints will use HTTP scheme and port 80 in Azure Container Apps. Note that explicit ports specified for development (e.g., port 8080) are still normalized to standard ports (80/443) as required by Azure Container Apps. " + "text": "), HTTP endpoints will use HTTP scheme and port 80 in Azure Container Apps. Note that explicit ports specified for development (e.g., port 8080) are still normalized to standard ports (80/443) as required by Azure Container Apps. Disabling HTTPS upgrade for an Express environment is rejected during publishing or deployment. " } ], "returns": [ @@ -1017,7 +1102,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppExtensions.cs", - "sourceLines": "1037-1038" + "sourceLines": "1082-1083" }, { "name": "WithUniqueResourceNaming", @@ -1277,7 +1362,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppExtensions.cs", - "sourceLines": "1001-1004" + "sourceLines": "1016-1019" } ] }, @@ -2043,6 +2128,7 @@ "baseType": "Aspire.Hosting.Azure.AzureProvisioningResource", "interfaces": [ "Aspire.Hosting.ApplicationModel.IComputeEnvironmentResource", + "Aspire.Hosting.ApplicationModel.IComputeEnvironmentWithVolumeMounts", "Aspire.Hosting.ApplicationModel.IContainerRegistry", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Azure.IAzureComputeEnvironmentResource", @@ -2107,7 +2193,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs", - "sourceLines": "38-279" + "sourceLines": "38-309" }, { "name": "AddAsExistingResource", @@ -2193,7 +2279,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs", - "sourceLines": "407-431" + "sourceLines": "445-469" }, { "name": "GetEndpointPropertyExpression", @@ -2323,7 +2409,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs", - "sourceLines": "355-377" + "sourceLines": "393-415" }, { "name": "GetHostAddressExpression", @@ -2401,7 +2487,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs", - "sourceLines": "338-348" + "sourceLines": "368-386" }, { "name": "ContainerRegistry", @@ -2420,7 +2506,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs", - "sourceLines": "311-326" + "sourceLines": "341-356" }, { "name": "NameOutputReference", @@ -2438,7 +2524,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs", - "sourceLines": "277-277" + "sourceLines": "307-307" } ] }, diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppService.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppService.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppService.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppService.13.6.0.json index dca98b60d..b3f062ca2 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppService.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppService.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.AppService", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -1105,7 +1105,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs", - "sourceLines": "29-29", + "sourceLines": "30-30", "members": [ { "name": ".ctor", @@ -1154,7 +1154,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs", - "sourceLines": "46-397" + "sourceLines": "47-399" }, { "name": "AddAsExistingResource", @@ -1240,7 +1240,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs", - "sourceLines": "546-569" + "sourceLines": "548-571" }, { "name": "GetEndpointPropertyExpression", @@ -1370,7 +1370,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs", - "sourceLines": "518-540" + "sourceLines": "520-542" }, { "name": "GetHostAddressExpression", @@ -1448,7 +1448,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs", - "sourceLines": "510-511" + "sourceLines": "512-513" }, { "name": "AzureAppInsightsConnectionStringReference", @@ -1466,7 +1466,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs", - "sourceLines": "449-449" + "sourceLines": "451-451" }, { "name": "AzureAppInsightsInstrumentationKeyReference", @@ -1484,7 +1484,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs", - "sourceLines": "443-443" + "sourceLines": "445-445" }, { "name": "ContainerRegistry", @@ -1503,7 +1503,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs", - "sourceLines": "484-498" + "sourceLines": "486-500" }, { "name": "DashboardUriReference", @@ -1521,7 +1521,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs", - "sourceLines": "437-437" + "sourceLines": "439-439" }, { "name": "NameOutputReference", @@ -1539,7 +1539,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs", - "sourceLines": "432-432" + "sourceLines": "434-434" } ] }, diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ApplicationInsights.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ApplicationInsights.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ApplicationInsights.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ApplicationInsights.13.6.0.json index 2de3e2261..89f11bd80 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ApplicationInsights.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ApplicationInsights.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.ApplicationInsights", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CognitiveServices.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CognitiveServices.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CognitiveServices.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CognitiveServices.13.6.0.json index 20063e8d5..0859a8163 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CognitiveServices.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CognitiveServices.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.CognitiveServices", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ContainerRegistry.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ContainerRegistry.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ContainerRegistry.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ContainerRegistry.13.6.0.json index e5975071f..ac7051009 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ContainerRegistry.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ContainerRegistry.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.ContainerRegistry", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CosmosDB.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CosmosDB.13.6.0.json similarity index 95% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CosmosDB.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CosmosDB.13.6.0.json index baa8514d7..440fc0b9d 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CosmosDB.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CosmosDB.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.CosmosDB", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -397,7 +397,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "25-25", + "sourceLines": "24-24", "members": [ { "name": "AddAzureCosmosDB", @@ -468,7 +468,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "39-47" + "sourceLines": "38-46" }, { "name": "AddContainer", @@ -564,7 +564,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "373-384" + "sourceLines": "390-401" }, { "name": "AddContainer", @@ -660,7 +660,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "420-442" + "sourceLines": "437-459" }, { "name": "AddCosmosDatabase", @@ -743,7 +743,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "349-359" + "sourceLines": "366-376" }, { "name": "AddDatabase", @@ -829,13 +829,13 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "330-335" + "sourceLines": "347-352" }, { - "name": "RunAsEmulator", + "name": "RunAsClassicEmulator", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder AzureCosmosExtensions.RunAsEmulator(this IResourceBuilder builder, Action>? configureContainer = null)", + "signature": "public static IResourceBuilder AzureCosmosExtensions.RunAsClassicEmulator(this IResourceBuilder builder, Action>? configureContainer = null)", "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, @@ -864,7 +864,7 @@ "summary": [ { "kind": "text", - "text": " Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB emulator with the NoSQL API. This resource requires an " + "text": " Configures an Azure Cosmos DB resource to be emulated using the classic Azure Cosmos DB emulator with the NoSQL API. This resource requires an " }, { "kind": "cref", @@ -886,7 +886,7 @@ "remarks": [ { "kind": "text", - "text": " When using the Azure Cosmos DB emulator, the container requires a TLS/SSL certificate. For more information, see " + "text": " When using the classic Azure Cosmos DB emulator, the container requires a TLS/SSL certificate. For more information, see " }, { "kind": "href", @@ -939,13 +939,13 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "66-66" + "sourceLines": "94-94" }, { - "name": "RunAsPreviewEmulator", + "name": "RunAsEmulator", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder AzureCosmosExtensions.RunAsPreviewEmulator(this IResourceBuilder builder, Action>? configureContainer = null)", + "signature": "public static IResourceBuilder AzureCosmosExtensions.RunAsEmulator(this IResourceBuilder builder, Action>? configureContainer = null)", "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, @@ -968,15 +968,6 @@ "arguments": { "RunSyncOnBackgroundThread": "True" } - }, - { - "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", - "constructorArguments": [ - "ASPIRECOSMOSDB001" - ], - "arguments": { - "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" - } } ], "docs": { @@ -1050,7 +1041,81 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "83-83" + "sourceLines": "63-63" + }, + { + "name": "RunAsPreviewEmulator", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder AzureCosmosExtensions.RunAsPreviewEmulator(this IResourceBuilder builder, Action>? configureContainer = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "configureContainer", + "type": "System.Action>?", + "isNullable": true, + "isOptional": true + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute", + "arguments": { + "RunSyncOnBackgroundThread": "True" + } + }, + { + "name": "System.ObsoleteAttribute", + "constructorArguments": [ + "Use RunAsEmulator instead." + ] + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB Linux-based (vNext) emulator with the NoSQL API. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The Azure Cosmos DB resource builder." + } + ], + "configureContainer": [ + { + "kind": "text", + "text": "Callback that exposes underlying container used for emulation to allow for customization." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", + "sourceLines": "76-76" }, { "name": "WithAccessKeyAuthentication", @@ -1117,7 +1182,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "537-556" + "sourceLines": "553-572" }, { "name": "WithAccessKeyAuthentication", @@ -1183,7 +1248,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "583-600" + "sourceLines": "599-616" }, { "name": "WithDataExplorer", @@ -1209,15 +1274,6 @@ "attributes": [ { "name": "Aspire.Hosting.AspireExportAttribute" - }, - { - "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", - "constructorArguments": [ - "ASPIRECOSMOSDB001" - ], - "arguments": { - "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" - } } ], "docs": { @@ -1230,11 +1286,11 @@ "remarks": [ { "kind": "text", - "text": " The Data Explorer is only available with " + "text": " The separate Data Explorer endpoint configured by this method is only available with " }, { "kind": "cref", - "value": "M:Aspire.Hosting.AzureCosmosExtensions.RunAsPreviewEmulator(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.AzureCosmosDBResource},System.Action{Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Azure.AzureCosmosDBEmulatorResource}})" + "value": "M:Aspire.Hosting.AzureCosmosExtensions.RunAsEmulator(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.AzureCosmosDBResource},System.Action{Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Azure.AzureCosmosDBEmulatorResource}})" }, { "kind": "text", @@ -1263,7 +1319,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "471-510" + "sourceLines": "487-526" }, { "name": "WithDataVolume", @@ -1336,7 +1392,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "258-272" + "sourceLines": "275-289" }, { "name": "WithDefaultAzureSku", @@ -1389,7 +1445,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "454-455" + "sourceLines": "471-472" }, { "name": "WithGatewayPort", @@ -1445,7 +1501,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "284-289" + "sourceLines": "301-306" }, { "name": "WithPartitionCount", @@ -1515,7 +1571,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs", - "sourceLines": "304-316" + "sourceLines": "321-333" } ] }, @@ -2000,9 +2056,6 @@ "kind": "class", "accessibility": "public", "baseType": "Aspire.Hosting.ApplicationModel.ContainerResource", - "interfaces": [ - "Aspire.Hosting.ApplicationModel.IResource" - ], "docs": { "summary": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.EventHubs.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.EventHubs.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.EventHubs.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.EventHubs.13.6.0.json index 5b442d992..81ed25f9e 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.EventHubs.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.EventHubs.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.EventHubs", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.FrontDoor.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.FrontDoor.13.6.0-preview.1.26479.8.json similarity index 98% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.FrontDoor.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.FrontDoor.13.6.0-preview.1.26479.8.json index 6ccecd661..b16668446 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.FrontDoor.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.FrontDoor.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.FrontDoor", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -139,7 +139,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.FrontDoor/AzureFrontDoorExtensions.cs", - "sourceLines": "61-159" + "sourceLines": "61-164" }, { "name": "WithOrigin", @@ -238,7 +238,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.FrontDoor/AzureFrontDoorExtensions.cs", - "sourceLines": "187-199" + "sourceLines": "192-204" } ] }, diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Functions.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Functions.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Functions.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Functions.13.6.0.json index b3acf8155..f038193ff 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Functions.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Functions.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.Functions", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.KeyVault.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.KeyVault.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.KeyVault.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.KeyVault.13.6.0.json index 3611ba794..934714633 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.KeyVault.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.KeyVault.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.KeyVault", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kubernetes.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kubernetes.13.6.0-preview.1.26479.8.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kubernetes.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kubernetes.13.6.0-preview.1.26479.8.json index d995516b0..56cbe5b32 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kubernetes.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kubernetes.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.Kubernetes", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -1865,7 +1865,7 @@ }, "examples": [ { - "code": "\n var aks = builder.AddAzureKubernetesEnvironment(\"aks\");\n \n var data = aks.AddPersistentVolume(\"data\")\n .WithCapacity(\"20Gi\");\n \n builder.AddProject(\"api\")\n .WithPersistentVolume(data, \"/data\");\n ", + "code": "\n var aks = builder.AddAzureKubernetesEnvironment(\"aks\");\n \n var data = aks.AddPersistentVolume(\"data\")\n .WithCapacity(\"20Gi\");\n \n builder.AddProject(\"api\")\n .WithPersistentVolume(data, \"/data\", env: \"DATA_PATH\");\n ", "language": "csharp" } ] @@ -2732,6 +2732,7 @@ "baseType": "Aspire.Hosting.Azure.AzureProvisioningResource", "interfaces": [ "Aspire.Hosting.ApplicationModel.IComputeEnvironmentResource", + "Aspire.Hosting.ApplicationModel.IComputeEnvironmentWithVolumeMounts", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Azure.IAzureComputeEnvironmentResource", "Aspire.Hosting.Azure.IAzureNspAssociationTarget" @@ -2753,7 +2754,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Kubernetes/AzureKubernetesEnvironmentResource.AksPipeline.cs", - "sourceLines": "24-24", + "sourceLines": "27-27", "members": [ { "name": ".ctor", @@ -2802,7 +2803,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.Kubernetes/AzureKubernetesEnvironmentResource.cs", - "sourceLines": "30-174" + "sourceLines": "36-310" }, { "name": "ClusterFqdn", @@ -2820,7 +2821,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Kubernetes/AzureKubernetesEnvironmentResource.cs", - "sourceLines": "87-87" + "sourceLines": "223-223" }, { "name": "Id", @@ -2838,7 +2839,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Kubernetes/AzureKubernetesEnvironmentResource.cs", - "sourceLines": "82-82" + "sourceLines": "218-218" }, { "name": "KubeletIdentityObjectId", @@ -2856,7 +2857,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Kubernetes/AzureKubernetesEnvironmentResource.cs", - "sourceLines": "97-97" + "sourceLines": "233-233" }, { "name": "NameOutputReference", @@ -2874,7 +2875,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Kubernetes/AzureKubernetesEnvironmentResource.cs", - "sourceLines": "107-107" + "sourceLines": "243-243" }, { "name": "NodeResourceGroup", @@ -2892,7 +2893,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Kubernetes/AzureKubernetesEnvironmentResource.cs", - "sourceLines": "102-102" + "sourceLines": "238-238" }, { "name": "OidcIssuerUrl", @@ -2910,7 +2911,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Kubernetes/AzureKubernetesEnvironmentResource.cs", - "sourceLines": "92-92" + "sourceLines": "228-228" } ] }, diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kusto.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kusto.13.6.0-preview.1.26479.8.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kusto.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kusto.13.6.0-preview.1.26479.8.json index 07233e5ab..dee934a7a 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kusto.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kusto.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.Kusto", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Network.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Network.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Network.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Network.13.6.0.json index 02ad4f88a..4d30a4527 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Network.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Network.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.Network", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.OperationalInsights.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.OperationalInsights.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.OperationalInsights.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.OperationalInsights.13.6.0.json index 7e861b6d2..4bf55cc30 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.OperationalInsights.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.OperationalInsights.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.OperationalInsights", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.PostgreSQL.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.PostgreSQL.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.PostgreSQL.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.PostgreSQL.13.6.0.json index 190e605de..6319715f6 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.PostgreSQL.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.PostgreSQL.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.PostgreSQL", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Provisioning.13.6.0-preview.1.26479.8.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Provisioning.13.6.0-preview.1.26479.8.json new file mode 100644 index 000000000..c29916521 --- /dev/null +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Provisioning.13.6.0-preview.1.26479.8.json @@ -0,0 +1,279 @@ +{ + "package": { + "name": "Aspire.Hosting.Azure.Provisioning", + "version": "13.6.0-preview.1.26479.8", + "targetFramework": "net10.0", + "sourceRepository": "https://github.com/microsoft/aspire", + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" + }, + "types": [ + { + "name": "BicepValueProxy", + "fullName": "Aspire.Hosting.Azure.Provisioning.BicepValueProxy", + "namespace": "Aspire.Hosting.Azure.Provisioning", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents a literal, resource reference, or expression-backed Azure Provisioning value. " + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Azure.Provisioning/BicepValueProxy.cs", + "sourceLines": "16-16", + "members": [ + { + "name": "AssignTo", + "kind": "method", + "accessibility": "public", + "signature": "public void BicepValueProxy.AssignTo(BicepValue target)", + "returnType": "void", + "parameters": [ + { + "name": "target", + "type": "Azure.Provisioning.BicepValue" + } + ], + "genericParameters": [ + { + "name": "T" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Used by generated provisioning proxy code." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Assigns this value to a generated Azure Provisioning property. " + } + ], + "parameters": { + "target": [ + { + "kind": "text", + "text": "The target Azure Provisioning value." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The literal type accepted by the target property." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Azure.Provisioning/BicepValueProxy.cs", + "sourceLines": "87-112" + }, + { + "name": "Convert", + "kind": "method", + "accessibility": "public", + "signature": "public static BicepValue BicepValueProxy.Convert(object value)", + "returnType": "Azure.Provisioning.BicepValue", + "isStatic": true, + "parameters": [ + { + "name": "value", + "type": "object" + } + ], + "genericParameters": [ + { + "name": "T" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Used by generated provisioning proxy code." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Converts a literal or proxy value to the requested Azure Provisioning value type. " + } + ], + "returns": [ + { + "kind": "text", + "text": "An Azure Provisioning value that preserves expression and reference metadata." + } + ], + "parameters": { + "value": [ + { + "kind": "text", + "text": "A literal value, an IP address string when " + }, + { + "kind": "typeparamref", + "value": "T" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "cref", + "value": "T:System.Net.IPAddress" + }, + { + "kind": "text", + "text": ", or " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Azure.Provisioning.BicepValueProxy" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The expected literal type." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Azure.Provisioning/BicepValueProxy.cs", + "sourceLines": "133-156" + }, + { + "name": "Create", + "kind": "method", + "accessibility": "public", + "signature": "public static BicepValueProxy BicepValueProxy.Create(BicepValue value)", + "returnType": "Aspire.Hosting.Azure.Provisioning.BicepValueProxy", + "isStatic": true, + "parameters": [ + { + "name": "value", + "type": "Azure.Provisioning.BicepValue" + } + ], + "genericParameters": [ + { + "name": "T" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Used by generated provisioning proxy code." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Creates a proxy for generated provisioning integration code. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A proxy that preserves the value's literal, expression, reference, and security metadata." + } + ], + "parameters": { + "value": [ + { + "kind": "text", + "text": "The Azure Provisioning value to wrap." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The literal type represented by the Azure Provisioning value." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Azure.Provisioning/BicepValueProxy.cs" + } + ] + }, + { + "name": "ProvisionableResourceProxy", + "fullName": "Aspire.Hosting.Azure.Provisioning.ProvisionableResourceProxy", + "namespace": "Aspire.Hosting.Azure.Provisioning", + "kind": "class", + "accessibility": "public", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents a resource declaration in an Azure Provisioning infrastructure model. " + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Azure.Provisioning/ProvisionableResourceProxy.cs", + "sourceLines": "13-13", + "members": [ + { + "name": "Inner", + "kind": "property", + "accessibility": "public", + "signature": "public ProvisionableResource ProvisionableResourceProxy.Inner", + "returnType": "Azure.Provisioning.Primitives.ProvisionableResource", + "hasGet": true, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Used by generated provisioning proxy code." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the wrapped Azure Provisioning resource. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Azure.Provisioning/ProvisionableResourceProxy.cs", + "sourceLines": "36-36" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Redis.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Redis.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Redis.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Redis.13.6.0.json index 3e2df89dd..25636f3d2 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Redis.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Redis.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.Redis", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Search.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Search.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Search.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Search.13.6.0.json index 729c7acf4..2470c976c 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Search.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Search.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.Search", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ServiceBus.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ServiceBus.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ServiceBus.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ServiceBus.13.6.0.json index 9a91d47f7..631e8c97a 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ServiceBus.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ServiceBus.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.ServiceBus", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.SignalR.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.SignalR.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.SignalR.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.SignalR.13.6.0.json index c09ef80f2..213a527f3 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.SignalR.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.SignalR.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.SignalR", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Sql.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Sql.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Sql.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Sql.13.6.0.json index a350b30ce..63943c3a8 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Sql.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Sql.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.Sql", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Storage.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Storage.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Storage.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Storage.13.6.0.json index cecd5c24a..18d00cd02 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Storage.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Storage.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.Storage", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -420,7 +420,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageExtensions.cs", - "sourceLines": "388-398" + "sourceLines": "388-402" }, { "name": "AddDataLake", @@ -515,7 +515,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageExtensions.cs", - "sourceLines": "412-423" + "sourceLines": "416-431" }, { "name": "AddDataLakeFileSystem", @@ -622,7 +622,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageExtensions.cs", - "sourceLines": "519-531" + "sourceLines": "528-541" }, { "name": "AddQueue", @@ -729,7 +729,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageExtensions.cs", - "sourceLines": "637-662" + "sourceLines": "651-677" }, { "name": "AddQueues", @@ -824,7 +824,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageExtensions.cs", - "sourceLines": "598-608" + "sourceLines": "608-622" }, { "name": "AddTables", @@ -919,7 +919,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageExtensions.cs", - "sourceLines": "581-584" + "sourceLines": "591-594" }, { "name": "RunAsEmulator", @@ -2771,7 +2771,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "18-38" + "sourceLines": "18-48" }, { "name": "AddAsExistingResource", @@ -2857,7 +2857,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "171-194" + "sourceLines": "181-204" }, { "name": "BlobEndpoint", @@ -2875,7 +2875,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "45-45" + "sourceLines": "55-55" }, { "name": "BlobUriExpression", @@ -2915,7 +2915,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "83-85" + "sourceLines": "93-95" }, { "name": "DataLakeEndpoint", @@ -2933,7 +2933,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "60-60" + "sourceLines": "70-70" }, { "name": "DataLakeUriExpression", @@ -2965,7 +2965,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "93-95" + "sourceLines": "103-105" }, { "name": "Id", @@ -2983,7 +2983,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "65-65" + "sourceLines": "75-75" }, { "name": "IsEmulator", @@ -3001,7 +3001,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "75-75" + "sourceLines": "85-85" }, { "name": "NameOutputReference", @@ -3019,7 +3019,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "70-70" + "sourceLines": "80-80" }, { "name": "QueueEndpoint", @@ -3037,7 +3037,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "50-50" + "sourceLines": "60-60" }, { "name": "QueueUriExpression", @@ -3077,7 +3077,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "103-105" + "sourceLines": "113-115" }, { "name": "TableEndpoint", @@ -3095,7 +3095,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "55-55" + "sourceLines": "65-65" }, { "name": "TableUriExpression", @@ -3135,7 +3135,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Azure.Storage/AzureStorageResource.cs", - "sourceLines": "113-115" + "sourceLines": "123-125" } ] }, diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.WebPubSub.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.WebPubSub.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Azure.WebPubSub.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Azure.WebPubSub.13.6.0.json index 066852f10..2c035d78a 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.WebPubSub.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Azure.WebPubSub.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Azure.WebPubSub", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Blazor.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Blazor.13.6.0-preview.1.26479.8.json similarity index 63% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Blazor.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Blazor.13.6.0-preview.1.26479.8.json index 6d2be8df8..7800cc43d 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Blazor.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Blazor.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Blazor", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -34,7 +34,7 @@ } ], "sourceFile": "src/Aspire.Hosting.Blazor/BlazorGatewayExtensions.cs", - "sourceLines": "23-23", + "sourceLines": "22-22", "members": [ { "name": "AddBlazorGateway", @@ -77,7 +77,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Blazor/BlazorGatewayExtensions.cs", - "sourceLines": "39-72" + "sourceLines": "38-71" }, { "name": "AddBlazorWasmApp", @@ -119,7 +119,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Blazor/BlazorGatewayExtensions.cs", - "sourceLines": "147-158" + "sourceLines": "135-146" }, { "name": "AddBlazorWasmProject", @@ -166,7 +166,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Blazor/BlazorGatewayExtensions.cs", - "sourceLines": "122-134" + "sourceLines": "110-122" }, { "name": "AddDotnetProjectBlazorGateway", @@ -189,19 +189,7 @@ ], "attributes": [ { - "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", - "constructorArguments": [ - "ASPIREDOTNETPROJECT001" - ], - "arguments": { - "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" - } - }, - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "The DotnetProjectResource-backed Blazor gateway is experimental and not yet stable for ATS export." - } + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { @@ -251,39 +239,37 @@ "text": ". No separate project is needed. " } ], - "remarks": [ + "returns": [ { "kind": "text", - "text": " Publishing is not yet supported for the " + "text": "A reference to the " }, { "kind": "cref", - "value": "T:Aspire.Hosting.Dotnet.DotnetProjectResource" + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" }, { "kind": "text", - "text": "-backed gateway because the resource does not implement the container-files destination pipeline that the publish path relies on to merge each WASM client's static assets into the gateway image. Use " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.BlazorGatewayExtensions.AddBlazorGateway(Aspire.Hosting.IDistributedApplicationBuilder,System.String)" - }, - { - "kind": "text", - "text": " for publish scenarios. This restriction is expected to be lifted once container execution lands for " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Dotnet.DotnetProjectResource" - }, - { - "kind": "text", - "text": ". " + "text": " for the gateway resource." } - ] + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The distributed application builder." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the gateway resource." + } + ] + } }, "sourceFile": "src/Aspire.Hosting.Blazor/BlazorGatewayExtensions.cs", - "sourceLines": "94-107" + "sourceLines": "92-95" }, { "name": "WithBlazorClientApp", @@ -436,18 +422,12 @@ ], "attributes": [ { - "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "name": "Aspire.Hosting.AspireExportAttribute", "constructorArguments": [ - "ASPIREDOTNETPROJECT001" + "withDotnetProjectBlazorClientApp" ], "arguments": { - "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" - } - }, - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "The DotnetProjectResource-backed Blazor gateway is experimental and not yet stable for ATS export." + "MethodName": "withBlazorClientApp" } } ], @@ -482,6 +462,20 @@ "text": ". " } ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for the gateway resource." + } + ], "parameters": { "apiPrefix": [ { @@ -544,6 +538,97 @@ } }, "sourceFile": "src/Aspire.Hosting.Blazor/BlazorGatewayExtensions.cs" + }, + { + "name": "WithBlazorDebuggerBrowser", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder BlazorGatewayExtensions.WithBlazorDebuggerBrowser(this IResourceBuilder wasmApp, string browser = \"msedge\")", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "wasmApp", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "browser", + "type": "string", + "isOptional": true, + "defaultValue": "msedge" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures the browser launched when starting a debug session for the Blazor WebAssembly app. The value is read when the debugger is registered on the gateway, so call this before " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.BlazorGatewayExtensions.WithBlazorClientApp(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.ApplicationModel.ProjectResource},Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.BlazorWasmAppResource},System.String,System.String,System.Boolean)" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.BlazorGatewayExtensions.WithBlazorClientApp(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Dotnet.DotnetProjectResource},Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.BlazorWasmAppResource},System.String,System.String,System.Boolean)" + }, + { + "kind": "text", + "text": " attaches the app. " + } + ], + "parameters": { + "browser": [ + { + "kind": "text", + "text": "The browser to use for debugging. Defaults to " + }, + { + "kind": "code", + "text": "\"msedge\"" + }, + { + "kind": "text", + "text": ". Supported values include " + }, + { + "kind": "code", + "text": "\"msedge\"" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "\"chrome\"" + }, + { + "kind": "text", + "text": "." + } + ], + "wasmApp": [ + { + "kind": "text", + "text": "The Blazor WebAssembly app resource builder." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Blazor/BlazorGatewayExtensions.cs", + "sourceLines": "268-269" } ] }, @@ -574,7 +659,7 @@ } ], "sourceFile": "src/Aspire.Hosting.Blazor/BlazorHostedExtensions.cs", - "sourceLines": "15-15", + "sourceLines": "19-19", "members": [ { "name": "ProxyBlazorService", @@ -677,8 +762,95 @@ ] } }, - "sourceFile": "src/Aspire.Hosting.Blazor/BlazorHostedExtensions.cs", - "sourceLines": "34-46" + "sourceFile": "src/Aspire.Hosting.Blazor/BlazorHostedExtensions.cs" + }, + { + "name": "ProxyBlazorService", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder BlazorHostedExtensions.ProxyBlazorService(this IResourceBuilder host, IResourceBuilder service, string apiPrefix = \"_api\")", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "host", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "service", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + }, + { + "name": "apiPrefix", + "type": "string", + "isOptional": true, + "defaultValue": "_api" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "class", + "Aspire.Hosting.ApplicationModel.IDotnetProgramResource", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", + "Aspire.Hosting.IResourceWithServiceDiscovery" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Blazor hosted APIs are not yet stable for ATS export." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures a .NET program host to proxy requests from its WebAssembly client to a service. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The host resource builder for chaining." + } + ], + "parameters": { + "apiPrefix": [ + { + "kind": "text", + "text": "The URL path prefix for API proxy routes." + } + ], + "host": [ + { + "kind": "text", + "text": "The host resource builder." + } + ], + "service": [ + { + "kind": "text", + "text": "The service to proxy." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The .NET program resource type." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Blazor/BlazorHostedExtensions.cs" }, { "name": "ProxyBlazorTelemetry", @@ -755,8 +927,256 @@ ] } }, - "sourceFile": "src/Aspire.Hosting.Blazor/BlazorHostedExtensions.cs", - "sourceLines": "62-68" + "sourceFile": "src/Aspire.Hosting.Blazor/BlazorHostedExtensions.cs" + }, + { + "name": "ProxyBlazorTelemetry", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder BlazorHostedExtensions.ProxyBlazorTelemetry(this IResourceBuilder host, string otlpPrefix = \"_otlp\")", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "host", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "otlpPrefix", + "type": "string", + "isOptional": true, + "defaultValue": "_otlp" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "class", + "Aspire.Hosting.ApplicationModel.IDotnetProgramResource", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", + "Aspire.Hosting.IResourceWithServiceDiscovery" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Blazor hosted APIs are not yet stable for ATS export." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures a .NET program host to proxy OpenTelemetry data from its WebAssembly client. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The host resource builder for chaining." + } + ], + "parameters": { + "host": [ + { + "kind": "text", + "text": "The host resource builder." + } + ], + "otlpPrefix": [ + { + "kind": "text", + "text": "The URL path prefix for OTLP proxy routes." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The .NET program resource type." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Blazor/BlazorHostedExtensions.cs" + }, + { + "name": "WithBlazorDebuggerBrowser", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder BlazorHostedExtensions.WithBlazorDebuggerBrowser(this IResourceBuilder host, string browser = \"msedge\")", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "host", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "browser", + "type": "string", + "isOptional": true, + "defaultValue": "msedge" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Blazor hosted APIs are not yet stable for ATS export." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures the browser launched when starting a debug session for the hosted Blazor WebAssembly client. The value is read when the debugger is registered on the first " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.BlazorHostedExtensions.ProxyBlazorService(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.ApplicationModel.ProjectResource},Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.IResourceWithServiceDiscovery},System.String)" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.BlazorHostedExtensions.ProxyBlazorTelemetry(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.ApplicationModel.ProjectResource},System.String)" + }, + { + "kind": "text", + "text": " call, so call this before proxying to guarantee it takes effect. " + } + ], + "parameters": { + "browser": [ + { + "kind": "text", + "text": "The browser to use for debugging. Defaults to " + }, + { + "kind": "code", + "text": "\"msedge\"" + }, + { + "kind": "text", + "text": ". Supported values include " + }, + { + "kind": "code", + "text": "\"msedge\"" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "\"chrome\"" + }, + { + "kind": "text", + "text": "." + } + ], + "host": [ + { + "kind": "text", + "text": "The host resource builder." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Blazor/BlazorHostedExtensions.cs" + }, + { + "name": "WithBlazorDebuggerBrowser", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder BlazorHostedExtensions.WithBlazorDebuggerBrowser(this IResourceBuilder host, string browser = \"msedge\")", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "host", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "browser", + "type": "string", + "isOptional": true, + "defaultValue": "msedge" + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "class", + "Aspire.Hosting.ApplicationModel.IDotnetProgramResource", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", + "Aspire.Hosting.IResourceWithServiceDiscovery" + ] + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Blazor hosted APIs are not yet stable for ATS export." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures the browser launched for a hosted Blazor WebAssembly client on a .NET program resource. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The host resource builder for chaining." + } + ], + "parameters": { + "browser": [ + { + "kind": "text", + "text": "The browser to use for debugging." + } + ], + "host": [ + { + "kind": "text", + "text": "The host resource builder." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The .NET program resource type." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Blazor/BlazorHostedExtensions.cs" } ] }, @@ -823,7 +1243,40 @@ ] }, "sourceFile": "src/Aspire.Hosting.Blazor/Resources/BlazorWasmAppResource.cs", - "sourceLines": "20-23" + "sourceLines": "20-32" + }, + { + "name": "DebuggerBrowser", + "kind": "property", + "accessibility": "public", + "signature": "public string BlazorWasmAppResource.DebuggerBrowser", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the browser launched when starting a debug session for this app. Defaults to " + }, + { + "kind": "code", + "text": "\"msedge\"" + }, + { + "kind": "text", + "text": ". Configure it with " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.BlazorGatewayExtensions.WithBlazorDebuggerBrowser(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.BlazorWasmAppResource},System.String)" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Blazor/Resources/BlazorWasmAppResource.cs" }, { "name": "Parent", diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Browsers.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Browsers.13.6.0-preview.1.26479.8.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Browsers.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Browsers.13.6.0-preview.1.26479.8.json index 41456b8d0..5774c3c67 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Browsers.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Browsers.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Browsers", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.DevTunnels.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.DevTunnels.13.6.0.json similarity index 90% rename from src/frontend/src/data/pkgs/Aspire.Hosting.DevTunnels.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.DevTunnels.13.6.0.json index cb2457442..a517ce21c 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.DevTunnels.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.DevTunnels.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.DevTunnels", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -232,7 +232,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelResourceBuilderExtensions.cs", - "sourceLines": "390-394" + "sourceLines": "420-424" }, { "name": "GetEndpoint", @@ -322,7 +322,7 @@ } }, "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelResourceBuilderExtensions.cs", - "sourceLines": "410-422" + "sourceLines": "440-452" }, { "name": "GetEndpoint", @@ -391,7 +391,7 @@ } }, "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelResourceBuilderExtensions.cs", - "sourceLines": "434-446" + "sourceLines": "464-476" }, { "name": "WithAnonymousAccess", @@ -468,6 +468,117 @@ "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelResourceBuilderExtensions.cs", "sourceLines": "370-371" }, + { + "name": "WithExpiration", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DevTunnelsResourceBuilderExtensions.WithExpiration(this IResourceBuilder tunnelBuilder, int expirationHours)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "tunnelBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "expirationHours", + "type": "int" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures how long the tunnel can remain unused or unmodified before it expires. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Applies to both new and existing tunnels. This does not limit hosting duration or access-token lifetime. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The resource builder." + } + ], + "parameters": { + "expirationHours": [ + { + "kind": "text", + "text": "The idle expiration period, in whole hours from one hour through 30 days, inclusive." + } + ], + "tunnelBuilder": [ + { + "kind": "text", + "text": "The resource builder." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "paramref", + "value": "tunnelBuilder" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": "." + } + ] + }, + { + "type": "T:System.ArgumentOutOfRangeException", + "description": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "paramref", + "value": "expirationHours" + }, + { + "kind": "text", + "text": " is outside the supported range." + } + ] + } + ], + "examples": [ + { + "code": "\n var tunnel = builder.AddDevTunnel(\"mytunnel\")\n .WithExpiration(24)\n .WithReference(web);\n ", + "language": "csharp" + } + ] + }, + "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelResourceBuilderExtensions.cs", + "sourceLines": "395-401" + }, { "name": "WithReference", "kind": "method", @@ -962,7 +1073,7 @@ } }, "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelResourceBuilderExtensions.cs", - "sourceLines": "475-534" + "sourceLines": "505-564" } ] }, @@ -1044,6 +1155,50 @@ }, "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelOptions.cs" }, + { + "name": "ExpirationHours", + "kind": "property", + "accessibility": "public", + "signature": "public int? DevTunnelOptions.ExpirationHours", + "returnType": "int?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets how many hours the tunnel can remain unused or unmodified before it expires. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Specify a whole number of hours from one hour through 30 days, inclusive. The value applies when creating a tunnel and when updating an existing tunnel. When " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": ", no expiration override is sent: new tunnels use the service default and existing tunnels retain their configured expiration period. This is an idle expiration period, not a maximum hosting duration or an access-token lifetime. " + } + ], + "exceptions": [ + { + "type": "T:System.ArgumentOutOfRangeException", + "description": [ + { + "kind": "text", + "text": "The value is outside the supported range." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelOptions.cs" + }, { "name": "Labels", "kind": "property", @@ -1115,7 +1270,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelOptions.cs", - "sourceLines": "61-61", + "sourceLines": "88-88", "members": [ { "name": ".ctor", @@ -1320,7 +1475,7 @@ } }, "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelResource.cs", - "sourceLines": "66-78" + "sourceLines": "71-83" }, { "name": "DevTunnel", @@ -1338,7 +1493,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelResource.cs", - "sourceLines": "83-83" + "sourceLines": "88-88" }, { "name": "Options", @@ -1356,7 +1511,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.DevTunnels/DevTunnelResource.cs", - "sourceLines": "88-88" + "sourceLines": "93-93" } ] }, diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Docker.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Docker.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Docker.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Docker.13.6.0.json index df5ff8b96..14a0de05b 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Docker.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Docker.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Docker", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -1342,6 +1342,7 @@ "baseType": "Aspire.Hosting.ApplicationModel.Resource", "interfaces": [ "Aspire.Hosting.ApplicationModel.IComputeEnvironmentResource", + "Aspire.Hosting.ApplicationModel.IComputeEnvironmentWithVolumeMounts", "Aspire.Hosting.ApplicationModel.IResource" ], "docs": { @@ -1657,7 +1658,7 @@ } ], "sourceFile": "src/Aspire.Hosting.Docker/DockerComposeServiceResource.cs", - "sourceLines": "23-23", + "sourceLines": "24-24", "members": [ { "name": ".ctor", @@ -1716,7 +1717,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Docker/DockerComposeServiceResource.cs", - "sourceLines": "34-107" + "sourceLines": "35-108" }, { "name": "Parent", @@ -1742,7 +1743,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Docker/DockerComposeServiceResource.cs", - "sourceLines": "110-110" + "sourceLines": "111-111" } ] }, diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.DocumentDB.0.116.0.json b/src/frontend/src/data/pkgs/Aspire.Hosting.DocumentDB.0.117.0.json similarity index 98% rename from src/frontend/src/data/pkgs/Aspire.Hosting.DocumentDB.0.116.0.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.DocumentDB.0.117.0.json index 4ec60a411..9c84c8198 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.DocumentDB.0.116.0.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.DocumentDB.0.117.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.DocumentDB", - "version": "0.116.0", + "version": "0.117.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/azure-databases-aspire", - "sourceCommit": "99fc80904e966e99fc461295b325ae623be347da" + "sourceCommit": "bf50a362ad65f556b2defeb9bf6851bf14f07438" }, "types": [ { @@ -488,7 +488,7 @@ ] }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "5522-5525" + "sourceLines": "5524-5527" }, { "name": "UseTls", @@ -624,7 +624,7 @@ ] }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "5493-5496" + "sourceLines": "5495-5498" }, { "name": "WithDataBindMount", @@ -1422,7 +1422,7 @@ ] }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "5570-5573" + "sourceLines": "5572-5575" }, { "name": "WithHostPort", @@ -1567,7 +1567,7 @@ } }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "4183-4193" + "sourceLines": "4185-4195" }, { "name": "WithLogLevel", @@ -1687,7 +1687,7 @@ } }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "4158-4165" + "sourceLines": "4160-4167" }, { "name": "WithOpenTelemetryMetrics", @@ -2351,7 +2351,7 @@ ] }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "4473-4535" + "sourceLines": "4475-4537" }, { "name": "WithoutExtendedRum", @@ -2429,7 +2429,7 @@ } }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "4228-4233" + "sourceLines": "4230-4235" }, { "name": "WithoutSampleData", @@ -2491,7 +2491,7 @@ } }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "4207-4213" + "sourceLines": "4209-4215" }, { "name": "WithoutUserCreation", @@ -2561,7 +2561,7 @@ }, { "kind": "code", - "text": "0.116.0" + "text": "0.117.0" }, { "kind": "text", @@ -2635,7 +2635,7 @@ } }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "4265-4270" + "sourceLines": "4267-4272" }, { "name": "WithOwner", @@ -2682,7 +2682,7 @@ }, { "kind": "text", - "text": " aborts explicitly while creating the DocumentDB admin user when the configured role does not exist. Earlier images also fail startup, but only later while waiting for the gateway to start. " + "text": " and later abort explicitly while creating the DocumentDB admin user when the configured role does not exist. Earlier images also fail startup, but only later while waiting for the gateway to start. " } ], "returns": [ @@ -2715,7 +2715,7 @@ } }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "5458-5464" + "sourceLines": "5460-5466" }, { "name": "WithPostgresEndpoint", @@ -3077,7 +3077,7 @@ ] }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "5611-5627" + "sourceLines": "5613-5629" }, { "name": "WithTelemetry", @@ -3180,7 +3180,7 @@ } }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "4326-4331" + "sourceLines": "4328-4333" }, { "name": "WithTlsCertificate", @@ -3254,7 +3254,7 @@ } }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBBuilderExtensions.cs", - "sourceLines": "4286-4300" + "sourceLines": "4288-4302" } ] }, @@ -4130,6 +4130,11 @@ "name": "V0_116_0", "value": 7, "description": "DocumentDB 0.116.0." + }, + { + "name": "V0_117_0", + "value": 8, + "description": "DocumentDB 0.117.0." } ], "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBVersion.cs", @@ -4189,7 +4194,7 @@ ] }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBVersion.cs", - "sourceLines": "128-128", + "sourceLines": "134-134", "members": [ { "name": "V0_109_0", @@ -4373,6 +4378,32 @@ }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBVersion.cs" }, + { + "name": "V0_117_0", + "kind": "field", + "accessibility": "public", + "signature": "public const static string DocumentDBVersions.V0_117_0", + "returnType": "string", + "isStatic": true, + "isConst": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": "DocumentDB version string " + }, + { + "kind": "code", + "text": "0.117.0" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBVersion.cs" + }, { "name": "All", "kind": "property", @@ -4412,7 +4443,7 @@ ] }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBVersion.cs", - "sourceLines": "128-128" + "sourceLines": "134-134" }, { "name": "Latest", @@ -4461,7 +4492,7 @@ ] }, "sourceFile": "/home/runner/work/azure-databases-aspire/azure-databases-aspire/src/Aspire.Hosting.DocumentDB/DocumentDBVersion.cs", - "sourceLines": "153-153" + "sourceLines": "160-160" } ] } diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Dotnet.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Dotnet.13.5.4-preview.1.26464.4.json deleted file mode 100644 index 589d41a77..000000000 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Dotnet.13.5.4-preview.1.26464.4.json +++ /dev/null @@ -1,474 +0,0 @@ -{ - "package": { - "name": "Aspire.Hosting.Dotnet", - "version": "13.5.4-preview.1.26464.4", - "targetFramework": "net10.0", - "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" - }, - "types": [ - { - "name": "DotnetProjectHostingExtensions", - "fullName": "Aspire.Hosting.DotnetProjectHostingExtensions", - "namespace": "Aspire.Hosting", - "kind": "class", - "accessibility": "public", - "isStatic": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Provides extension methods for adding C# projects and file-based C# apps (by path) to an " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.IDistributedApplicationBuilder" - }, - { - "kind": "text", - "text": ". " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectHostingExtensions.cs", - "sourceLines": "19-19", - "members": [ - { - "name": "AddDotnetProject", - "kind": "method", - "accessibility": "public", - "signature": "public static IResourceBuilder DotnetProjectHostingExtensions.AddDotnetProject(this IDistributedApplicationBuilder builder, string name, string path)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", - "isStatic": true, - "isExtension": true, - "parameters": [ - { - "name": "builder", - "type": "Aspire.Hosting.IDistributedApplicationBuilder", - "modifier": "this" - }, - { - "name": "name", - "type": "string" - }, - { - "name": "path", - "type": "string" - } - ], - "attributes": [ - { - "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", - "constructorArguments": [ - "ASPIREDOTNETPROJECT001" - ], - "arguments": { - "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" - } - }, - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Polyglot AppHosts use the internal addDotnetProject dispatcher export." - } - } - ], - "docs": { - "summary": [ - { - "kind": "text", - "text": " Adds a C# project or file-based app to the application model. " - } - ], - "remarks": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": " This overload of the " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.DotnetProjectHostingExtensions.AddDotnetProject(Aspire.Hosting.IDistributedApplicationBuilder,System.String,System.String)" - }, - { - "kind": "text", - "text": " method adds a C# project or file-based app to the application model using a path to the file-based app .cs file, project file (.csproj), or project directory. If the path is not an absolute path then it will be computed relative to the AppHost directory. " - } - ] - }, - { - "kind": "text", - "text": " Add a file-based app to the app model via a file path. " - }, - { - "kind": "codeblock", - "text": "\n var builder = DistributedApplication.CreateBuilder(args);\n \n builder.AddDotnetProject(\"inventoryservice\", @\"..\\InventoryService.cs\");\n \n builder.Build().Run();\n ", - "language": "csharp" - } - ], - "returns": [ - { - "kind": "text", - "text": "A reference to the " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": "." - } - ], - "parameters": { - "builder": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.IDistributedApplicationBuilder" - }, - { - "kind": "text", - "text": "." - } - ], - "name": [ - { - "kind": "text", - "text": "The name of the resource. This name will be used for service discovery when referenced in a dependency." - } - ], - "path": [ - { - "kind": "text", - "text": "The path to the file-based app file, project file, or project directory." - } - ] - } - }, - "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectHostingExtensions.cs", - "sourceLines": "49-53" - }, - { - "name": "AddDotnetProject", - "kind": "method", - "accessibility": "public", - "signature": "public static IResourceBuilder DotnetProjectHostingExtensions.AddDotnetProject(this IDistributedApplicationBuilder builder, string name, string path, Action configure)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", - "isStatic": true, - "isExtension": true, - "parameters": [ - { - "name": "builder", - "type": "Aspire.Hosting.IDistributedApplicationBuilder", - "modifier": "this" - }, - { - "name": "name", - "type": "string" - }, - { - "name": "path", - "type": "string" - }, - { - "name": "configure", - "type": "System.Action" - } - ], - "attributes": [ - { - "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", - "constructorArguments": [ - "ASPIREDOTNETPROJECT001" - ], - "arguments": { - "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" - } - }, - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Polyglot AppHosts use the internal addDotnetProject dispatcher export." - } - } - ], - "docs": { - "summary": [ - { - "kind": "text", - "text": " Adds a C# project or file-based app to the application model. " - } - ], - "remarks": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": " This overload of the " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.DotnetProjectHostingExtensions.AddDotnetProject(Aspire.Hosting.IDistributedApplicationBuilder,System.String,System.String)" - }, - { - "kind": "text", - "text": " method adds a C# project or file-based app to the application model using a path to the file-based app .cs file, project file (.csproj), or project directory. If the path is not an absolute path then it will be computed relative to the AppHost directory. " - } - ] - }, - { - "kind": "text", - "text": " Add a file-based app to the app model via a file path. " - }, - { - "kind": "codeblock", - "text": "\n var builder = DistributedApplication.CreateBuilder(args);\n \n builder.AddDotnetProject(\"inventoryservice\", @\"..\\InventoryService.cs\", o => o.LaunchProfileName = \"https\");\n \n builder.Build().Run();\n ", - "language": "csharp" - } - ], - "returns": [ - { - "kind": "text", - "text": "A reference to the " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": "." - } - ], - "parameters": { - "builder": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.IDistributedApplicationBuilder" - }, - { - "kind": "text", - "text": "." - } - ], - "configure": [ - { - "kind": "text", - "text": "An optional action to configure the C# app resource options." - } - ], - "name": [ - { - "kind": "text", - "text": "The name of the resource. This name will be used for service discovery when referenced in a dependency." - } - ], - "path": [ - { - "kind": "text", - "text": "The path to the file-based app file, project file, or project directory." - } - ] - } - }, - "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectHostingExtensions.cs", - "sourceLines": "101-220" - } - ] - }, - { - "name": "DotnetProjectResource", - "fullName": "Aspire.Hosting.Dotnet.DotnetProjectResource", - "namespace": "Aspire.Hosting.Dotnet", - "kind": "class", - "accessibility": "public", - "baseType": "Aspire.Hosting.ApplicationModel.ExecutableResource", - "interfaces": [ - "Aspire.Hosting.ApplicationModel.IResource", - "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", - "Aspire.Hosting.IResourceWithServiceDiscovery" - ], - "docs": { - "summary": [ - { - "kind": "text", - "text": " A resource that represents a specified C# project or file-based app added by path. " - } - ], - "remarks": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": " A " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Dotnet.DotnetProjectResource" - }, - { - "kind": "text", - "text": " is added by path and is launched as an executable: " - }, - { - "kind": "code", - "text": "dotnet run --project " - }, - { - "kind": "text", - "text": " for a project file, or " - }, - { - "kind": "code", - "text": "dotnet run --file " - }, - { - "kind": "text", - "text": " for a file-based app (a " - }, - { - "kind": "code", - "text": ".cs" - }, - { - "kind": "text", - "text": " file). " - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": " Automatic publishing is not supported. Use " - }, - { - "kind": "code", - "text": "AddProject(...)" - }, - { - "kind": "text", - "text": " or " - }, - { - "kind": "code", - "text": "AddCSharpApp(...)" - }, - { - "kind": "text", - "text": " for standard .NET project publishing, explicitly configure container publishing with " - }, - { - "kind": "code", - "text": "PublishAsDockerFile(...)" - }, - { - "kind": "text", - "text": ", or exclude an intentionally run-only resource with " - }, - { - "kind": "code", - "text": "ExcludeFromManifest()" - }, - { - "kind": "text", - "text": ". " - } - ] - } - ] - }, - "attributes": [ - { - "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", - "constructorArguments": [ - "ASPIREDOTNETPROJECT001" - ], - "arguments": { - "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" - } - }, - { - "name": "Aspire.Hosting.AspireExportAttribute", - "arguments": { - "ExposeProperties": "True" - } - } - ], - "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectResource.cs", - "sourceLines": "33-33", - "members": [ - { - "name": ".ctor", - "kind": "constructor", - "accessibility": "public", - "signature": "public DotnetProjectResource.DotnetProjectResource(string name, string workingDirectory)", - "returnType": "void", - "parameters": [ - { - "name": "name", - "type": "string" - }, - { - "name": "workingDirectory", - "type": "string" - } - ], - "docs": { - "summary": [ - { - "kind": "text", - "text": " Initializes a new instance of the " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Dotnet.DotnetProjectResource" - }, - { - "kind": "text", - "text": " class. " - } - ], - "parameters": { - "name": [ - { - "kind": "text", - "text": "The name of the resource in the application model." - } - ], - "workingDirectory": [ - { - "kind": "text", - "text": "The working directory for the app, typically the directory containing the project or " - }, - { - "kind": "code", - "text": ".cs" - }, - { - "kind": "text", - "text": " file." - } - ] - } - }, - "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectResource.cs", - "sourceLines": "60-125" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Dotnet.13.6.0-preview.1.26479.8.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Dotnet.13.6.0-preview.1.26479.8.json new file mode 100644 index 000000000..e24776c2f --- /dev/null +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Dotnet.13.6.0-preview.1.26479.8.json @@ -0,0 +1,990 @@ +{ + "package": { + "name": "Aspire.Hosting.Dotnet", + "version": "13.6.0-preview.1.26479.8", + "targetFramework": "net10.0", + "sourceRepository": "https://github.com/microsoft/aspire", + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" + }, + "types": [ + { + "name": "DotnetProjectHostingExtensions", + "fullName": "Aspire.Hosting.DotnetProjectHostingExtensions", + "namespace": "Aspire.Hosting", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Provides extension methods for adding C# projects and file-based C# apps (by path) to an " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.IDistributedApplicationBuilder" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectHostingExtensions.cs", + "sourceLines": "18-18", + "members": [ + { + "name": "AddDotnetProject", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DotnetProjectHostingExtensions.AddDotnetProject(this IDistributedApplicationBuilder builder, string name, string path)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.IDistributedApplicationBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "path", + "type": "string" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Polyglot AppHosts use the internal addDotnetProject dispatcher export." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds a C# project or file-based app to the application model. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " This overload of the " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.DotnetProjectHostingExtensions.AddDotnetProject(Aspire.Hosting.IDistributedApplicationBuilder,System.String,System.String)" + }, + { + "kind": "text", + "text": " method adds a C# project or file-based app to the application model using a path to the file-based app .cs file, project file (.csproj), or project directory. If the path is not an absolute path then it will be computed relative to the AppHost directory. " + } + ] + }, + { + "kind": "text", + "text": " Add a file-based app to the app model via a file path. " + }, + { + "kind": "codeblock", + "text": "\n var builder = DistributedApplication.CreateBuilder(args);\n \n builder.AddDotnetProject(\"inventoryservice\", @\"..\\InventoryService.cs\");\n \n builder.Build().Run();\n ", + "language": "csharp" + } + ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.IDistributedApplicationBuilder" + }, + { + "kind": "text", + "text": "." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the resource. This name will be used for service discovery when referenced in a dependency." + } + ], + "path": [ + { + "kind": "text", + "text": "The path to the file-based app file, project file, or project directory." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectHostingExtensions.cs", + "sourceLines": "243-247" + }, + { + "name": "AddDotnetProject", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DotnetProjectHostingExtensions.AddDotnetProject(this IDistributedApplicationBuilder builder, string name, string path, Action configure)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.IDistributedApplicationBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "configure", + "type": "System.Action" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Polyglot AppHosts use the internal addDotnetProject dispatcher export." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds a C# project or file-based app to the application model. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " This overload of the " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.DotnetProjectHostingExtensions.AddDotnetProject(Aspire.Hosting.IDistributedApplicationBuilder,System.String,System.String)" + }, + { + "kind": "text", + "text": " method adds a C# project or file-based app to the application model using a path to the file-based app .cs file, project file (.csproj), or project directory. If the path is not an absolute path then it will be computed relative to the AppHost directory. " + } + ] + }, + { + "kind": "text", + "text": " Add a file-based app to the app model via a file path. " + }, + { + "kind": "codeblock", + "text": "\n var builder = DistributedApplication.CreateBuilder(args);\n \n builder.AddDotnetProject(\"inventoryservice\", @\"..\\InventoryService.cs\", o => o.LaunchProfileName = \"https\");\n \n builder.Build().Run();\n ", + "language": "csharp" + } + ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": "." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.IDistributedApplicationBuilder" + }, + { + "kind": "text", + "text": "." + } + ], + "configure": [ + { + "kind": "text", + "text": "An optional action to configure the C# app resource options." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the resource. This name will be used for service discovery when referenced in a dependency." + } + ], + "path": [ + { + "kind": "text", + "text": "The path to the file-based app file, project file, or project directory." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectHostingExtensions.cs", + "sourceLines": "293-458" + }, + { + "name": "WithBuildEnvironment", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DotnetProjectHostingExtensions.WithBuildEnvironment(this IResourceBuilder builder, string name, string value)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds an environment variable to the build process for a .NET project. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " This method supports project files (" + }, + { + "kind": "code", + "text": ".csproj" + }, + { + "kind": "text", + "text": ") only. File-based C# apps (" + }, + { + "kind": "code", + "text": ".cs" + }, + { + "kind": "text", + "text": ") do not support build-only environment variables. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " The variable is available while Aspire builds the project but is not added to the environment of the launched project. Use " + }, + { + "kind": "code", + "text": "WithEnvironment" + }, + { + "kind": "text", + "text": " separately when the same variable is also needed at runtime. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Configuring a build environment causes Aspire to build this project separately from traversal groups. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " When publishing a container, do not use this API to set MSBuild properties that control the output artifact's identity, destination, format, or target platform. Aspire rejects those properties because downstream publishing steps use the values configured with " + }, + { + "kind": "code", + "text": "WithContainerBuildOptions" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Do not use this API for secrets. Aspire must carry the value in IDE launch metadata and process environments, and the value can appear in build diagnostics. Protected temporary MSBuild response files preserve global-property semantics without exposing values in process command lines, but they are not a general-purpose secret transport. " + } + ] + } + ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining additional configuration." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The .NET project resource builder." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the environment variable." + } + ], + "value": [ + { + "kind": "text", + "text": "The value of the environment variable." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "text", + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "paramref", + "value": "name" + }, + { + "kind": "text", + "text": ", or " + }, + { + "kind": "paramref", + "value": "value" + }, + { + "kind": "text", + "text": " is null. " + } + ] + }, + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "text", + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "name" + }, + { + "kind": "text", + "text": " is empty. " + } + ] + }, + { + "type": "T:Aspire.Hosting.DistributedApplicationException", + "description": [ + { + "kind": "text", + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": " represents a file-based C# app. " + } + ] + } + ], + "examples": [ + { + "code": "\n builder.AddDotnetProject(\"worker\", \"../Worker/Worker.csproj\")\n .WithBuildEnvironment(\"BUILD_FLAVOR\", \"custom\");\n ", + "language": "csharp", + "description": [ + { + "kind": "text", + "text": "Configure an environment variable that selects a custom build output:" + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectHostingExtensions.cs", + "sourceLines": "73-77" + }, + { + "name": "WithBuildEnvironment", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DotnetProjectHostingExtensions.WithBuildEnvironment(this IResourceBuilder builder, Action callback)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "callback", + "type": "System.Action" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Raw Action delegate callbacks are not ATS-compatible." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds a callback that configures build-only environment variables for a .NET project. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " This method supports project files (" + }, + { + "kind": "code", + "text": ".csproj" + }, + { + "kind": "text", + "text": ") only. File-based C# apps (" + }, + { + "kind": "code", + "text": ".cs" + }, + { + "kind": "text", + "text": ") do not support build-only environment variables. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " When publishing a container, do not use this API to set MSBuild properties that control the output artifact's identity, destination, format, or target platform. Aspire rejects those properties because downstream publishing steps use the values configured with " + }, + { + "kind": "code", + "text": "WithContainerBuildOptions" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Values configured by this callback are not added to the environment of the launched project. Do not use this API for secrets because Aspire carries the values in IDE launch metadata, process environments, and protected temporary MSBuild response files, and the values can appear in build diagnostics. " + } + ] + } + ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining additional configuration." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The .NET project resource builder." + } + ], + "callback": [ + { + "kind": "text", + "text": "The callback that configures the build environment." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "text", + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "paramref", + "value": "callback" + }, + { + "kind": "text", + "text": " is null. " + } + ] + }, + { + "type": "T:Aspire.Hosting.DistributedApplicationException", + "description": [ + { + "kind": "text", + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": " represents a file-based C# app. " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectHostingExtensions.cs" + }, + { + "name": "WithBuildEnvironment", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder DotnetProjectHostingExtensions.WithBuildEnvironment(this IResourceBuilder builder, Func callback)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "callback", + "type": "System.Func" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Raw Func delegate callbacks are not ATS-compatible." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds an asynchronous callback that configures build-only environment variables for a .NET project. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " This method supports project files (" + }, + { + "kind": "code", + "text": ".csproj" + }, + { + "kind": "text", + "text": ") only. File-based C# apps (" + }, + { + "kind": "code", + "text": ".cs" + }, + { + "kind": "text", + "text": ") do not support build-only environment variables. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " When publishing a container, do not use this API to set MSBuild properties that control the output artifact's identity, destination, format, or target platform. Aspire rejects those properties because downstream publishing steps use the values configured with " + }, + { + "kind": "code", + "text": "WithContainerBuildOptions" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Values configured by this callback are not added to the environment of the launched project. Do not use this API for secrets because Aspire carries the values in IDE launch metadata, process environments, and protected temporary MSBuild response files, and the values can appear in build diagnostics. " + } + ] + } + ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining additional configuration." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The .NET project resource builder." + } + ], + "callback": [ + { + "kind": "text", + "text": "The callback that configures the build environment." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "text", + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "paramref", + "value": "callback" + }, + { + "kind": "text", + "text": " is null. " + } + ] + }, + { + "type": "T:Aspire.Hosting.DistributedApplicationException", + "description": [ + { + "kind": "text", + "text": " Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": " represents a file-based C# app. " + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectHostingExtensions.cs" + } + ] + }, + { + "name": "DotnetProjectResource", + "fullName": "Aspire.Hosting.Dotnet.DotnetProjectResource", + "namespace": "Aspire.Hosting.Dotnet", + "kind": "class", + "accessibility": "public", + "baseType": "Aspire.Hosting.ApplicationModel.ExecutableResource", + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IContainerFilesDestinationResource", + "Aspire.Hosting.ApplicationModel.IDotnetProgramResource", + "Aspire.Hosting.ApplicationModel.IResource", + "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", + "Aspire.Hosting.IResourceWithServiceDiscovery" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " A resource that represents a specified C# project or file-based app added by path. " + } + ], + "remarks": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " A " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Dotnet.DotnetProjectResource" + }, + { + "kind": "text", + "text": " is added by path and is launched as an executable: " + }, + { + "kind": "code", + "text": "dotnet run --project " + }, + { + "kind": "text", + "text": " for a project file, or " + }, + { + "kind": "code", + "text": "dotnet run --file " + }, + { + "kind": "text", + "text": " for a file-based app (a " + }, + { + "kind": "code", + "text": ".cs" + }, + { + "kind": "text", + "text": " file). " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Resources created by " + }, + { + "kind": "code", + "text": "AddDotnetProject" + }, + { + "kind": "text", + "text": " support the same .NET SDK container-publishing pipeline as resources created by " + }, + { + "kind": "code", + "text": "AddProject" + }, + { + "kind": "text", + "text": ". A directly constructed resource must be given project metadata and explicitly configured for publishing by its builder. " + } + ] + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute", + "arguments": { + "ExposeProperties": "True" + } + } + ], + "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectResource.cs", + "sourceLines": "26-26", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public DotnetProjectResource.DotnetProjectResource(string name, string workingDirectory)", + "returnType": "void", + "parameters": [ + { + "name": "name", + "type": "string" + }, + { + "name": "workingDirectory", + "type": "string" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Initializes a new instance of the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Dotnet.DotnetProjectResource" + }, + { + "kind": "text", + "text": " class. " + } + ], + "parameters": { + "name": [ + { + "kind": "text", + "text": "The name of the resource in the application model." + } + ], + "workingDirectory": [ + { + "kind": "text", + "text": "The working directory for the app, typically the directory containing the project or " + }, + { + "kind": "code", + "text": ".cs" + }, + { + "kind": "text", + "text": " file." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Dotnet/DotnetProjectResource.cs", + "sourceLines": "37-41" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.EntityFrameworkCore.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.EntityFrameworkCore.13.6.0-preview.1.26479.8.json similarity index 80% rename from src/frontend/src/data/pkgs/Aspire.Hosting.EntityFrameworkCore.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.EntityFrameworkCore.13.6.0-preview.1.26479.8.json index e24a5f2a3..4ce4c668b 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.EntityFrameworkCore.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.EntityFrameworkCore.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.EntityFrameworkCore", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -23,7 +23,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResourceBuilderExtensions.cs", - "sourceLines": "17-17", + "sourceLines": "19-19", "members": [ { "name": "PublishAsMigrationBundle", @@ -416,7 +416,7 @@ } }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResourceBuilderExtensions.cs", - "sourceLines": "161-184" + "sourceLines": "163-186" }, { "name": "PublishAsMigrationScript", @@ -531,7 +531,7 @@ } }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResourceBuilderExtensions.cs", - "sourceLines": "103-106" + "sourceLines": "105-108" }, { "name": "RunDatabaseUpdateOnStart", @@ -604,7 +604,7 @@ } }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResourceBuilderExtensions.cs", - "sourceLines": "38-46" + "sourceLines": "40-48" }, { "name": "WithMigrationNamespace", @@ -681,7 +681,7 @@ } }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResourceBuilderExtensions.cs", - "sourceLines": "218-220" + "sourceLines": "220-222" }, { "name": "WithMigrationOutputDirectory", @@ -766,7 +766,7 @@ } }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResourceBuilderExtensions.cs", - "sourceLines": "200-202" + "sourceLines": "202-204" }, { "name": "WithMigrationsProject", @@ -835,7 +835,7 @@ } }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResourceBuilderExtensions.cs", - "sourceLines": "240-244" + "sourceLines": "242-246" }, { "name": "WithMigrationsProject", @@ -911,7 +911,7 @@ } }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResourceBuilderExtensions.cs", - "sourceLines": "265-266" + "sourceLines": "267-270" } ] }, @@ -931,7 +931,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs", - "sourceLines": "20-20", + "sourceLines": "22-22", "members": [ { "name": "AddEFMigrations", @@ -1015,8 +1015,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs", - "sourceLines": "50-54" + "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs" }, { "name": "AddEFMigrations", @@ -1111,8 +1110,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs", - "sourceLines": "77-81" + "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs" }, { "name": "AddEFMigrations", @@ -1180,8 +1178,7 @@ } ] }, - "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs", - "sourceLines": "96-99" + "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs" }, { "name": "AddEFMigrations", @@ -1260,8 +1257,313 @@ } ] }, - "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs", - "sourceLines": "136-139" + "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs" + }, + { + "name": "AddEFMigrations", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder EFResourceBuilderExtensions.AddEFMigrations(this IResourceBuilder builder, string name, string dbContextTypeName)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "dbContextTypeName", + "type": "string" + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREPROJECTS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + }, + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Polyglot AppHosts use the internal addEFMigrations dispatcher export." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds EF Core migration management for a specific DbContext type on a .NET program resource. " + } + ], + "returns": [ + { + "kind": "text", + "text": "An EF migration resource builder for chaining additional configuration." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The startup .NET program resource builder." + } + ], + "dbContextTypeName": [ + { + "kind": "text", + "text": "The fully qualified name of the DbContext type." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the migration resource." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs" + }, + { + "name": "AddEFMigrations", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder EFResourceBuilderExtensions.AddEFMigrations(this IResourceBuilder builder, string name, string dbContextTypeName, Action>? configureToolResource)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "dbContextTypeName", + "type": "string" + }, + { + "name": "configureToolResource", + "type": "System.Action>?", + "isNullable": true + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREPROJECTS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + }, + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Action> callbacks are not ATS-compatible." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds EF Core migration management for a specific DbContext type on a .NET program resource. " + } + ], + "returns": [ + { + "kind": "text", + "text": "An EF migration resource builder for chaining additional configuration." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The startup .NET program resource builder." + } + ], + "configureToolResource": [ + { + "kind": "text", + "text": "An optional callback that configures the dotnet-ef tool resource." + } + ], + "dbContextTypeName": [ + { + "kind": "text", + "text": "The fully qualified name of the DbContext type." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the migration resource." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs" + }, + { + "name": "AddEFMigrations", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder EFResourceBuilderExtensions.AddEFMigrations(this IResourceBuilder builder, string name)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREPROJECTS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + }, + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Polyglot AppHosts use the internal addEFMigrations dispatcher export." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds EF Core migration management for the only DbContext type in a .NET program resource. " + } + ], + "returns": [ + { + "kind": "text", + "text": "An EF migration resource builder for chaining additional configuration." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The startup .NET program resource builder." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the migration resource." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs" + }, + { + "name": "AddEFMigrations", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder EFResourceBuilderExtensions.AddEFMigrations(this IResourceBuilder builder, string name, Action>? configureToolResource)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "configureToolResource", + "type": "System.Action>?", + "isNullable": true + } + ], + "attributes": [ + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREPROJECTS001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } + }, + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Action> callbacks are not ATS-compatible." + } + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Adds EF Core migration management for the only DbContext type in a .NET program resource. " + } + ], + "returns": [ + { + "kind": "text", + "text": "An EF migration resource builder for chaining additional configuration." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The startup .NET program resource builder." + } + ], + "configureToolResource": [ + { + "kind": "text", + "text": "An optional callback that configures the dotnet-ef tool resource." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the migration resource." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs" } ] }, @@ -1308,27 +1610,7 @@ "kind": "text", "text": ". " } - ], - "parameters": { - "dbContextTypeName": [ - { - "kind": "text", - "text": "The fully qualified name of the DbContext type, or null to auto-detect." - } - ], - "name": [ - { - "kind": "text", - "text": "The name of the resource." - } - ], - "projectResource": [ - { - "kind": "text", - "text": "The parent project resource that contains the DbContext." - } - ] - } + ] }, "attributes": [ { @@ -1339,7 +1621,7 @@ } ], "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.cs", - "sourceLines": "24-24", + "sourceLines": "22-22", "members": [ { "name": ".ctor", @@ -1366,37 +1648,15 @@ "summary": [ { "kind": "text", - "text": " Represents an EF Core migration resource associated with a project. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " The resource inherits from " + "text": " Initializes a new instance of the " }, { "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.ContainerResource" + "value": "T:Aspire.Hosting.EntityFrameworkCore.EFMigrationResource" }, { "kind": "text", - "text": " so it can be published as a container image that runs the migration bundle at deploy time when " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.EFMigrationResourceBuilderExtensions.PublishAsMigrationBundle(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.EntityFrameworkCore.EFMigrationResource},System.String,System.Boolean,System.Boolean,System.String)" - }, - { - "kind": "text", - "text": " is called with " - }, - { - "kind": "code", - "text": "publishContainer: true" - }, - { - "kind": "text", - "text": ". " + "text": " class. " } ], "parameters": { @@ -1415,13 +1675,13 @@ "projectResource": [ { "kind": "text", - "text": "The parent project resource that contains the DbContext." + "text": "The startup project resource that contains the DbContext." } ] } }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.cs", - "sourceLines": "25-39" + "sourceLines": "33-35" }, { "name": "BundleBaseImage", @@ -1516,7 +1776,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.cs", - "sourceLines": "39-39" + "sourceLines": "86-86" }, { "name": "MigrationNamespace", @@ -1600,16 +1860,65 @@ "signature": "public ProjectResource EFMigrationResource.ProjectResource", "returnType": "Aspire.Hosting.ApplicationModel.ProjectResource", "hasGet": true, + "attributes": [ + { + "name": "System.ObsoleteAttribute", + "constructorArguments": [ + "Use StartupProjectResource instead." + ] + } + ], "docs": { "summary": [ { "kind": "text", "text": " Gets the parent project resource that contains the DbContext. " } + ], + "remarks": [ + { + "kind": "text", + "text": " This property is retained for compatibility with migration resources created from legacy " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.EntityFrameworkCore.EFMigrationResource.ProjectResource" + }, + { + "kind": "text", + "text": " instances. Use " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.EntityFrameworkCore.EFMigrationResource.StartupProjectResource" + }, + { + "kind": "text", + "text": " for resources created from any .NET program model. " + } + ], + "exceptions": [ + { + "type": "T:System.InvalidOperationException", + "description": [ + { + "kind": "text", + "text": " This migration resource was created from a .NET program that is not a " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.EntityFrameworkCore.EFMigrationResource.ProjectResource" + }, + { + "kind": "text", + "text": ". " + } + ] + } ] }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.cs", - "sourceLines": "30-30" + "sourceLines": "75-77" }, { "name": "PublishAsMigrationBundle", @@ -1770,6 +2079,24 @@ ] }, "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.cs" + }, + { + "name": "StartupProjectResource", + "kind": "property", + "accessibility": "public", + "signature": "public IDotnetProgramResource EFMigrationResource.StartupProjectResource", + "returnType": "Aspire.Hosting.ApplicationModel.IDotnetProgramResource", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the startup .NET program resource that contains the DbContext configuration. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.cs", + "sourceLines": "60-60" } ] } diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Foundry.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Foundry.13.6.0-preview.1.26479.8.json similarity index 94% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Foundry.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Foundry.13.6.0-preview.1.26479.8.json index 9c767a271..981f6863d 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Foundry.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Foundry.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Foundry", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -23,7 +23,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs", - "sourceLines": "19-19", + "sourceLines": "20-20", "members": [ { "name": "AddBingGroundingConnection", @@ -348,7 +348,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs", - "sourceLines": "38-75" + "sourceLines": "38-38" }, { "name": "AddConnection", @@ -688,7 +688,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs", - "sourceLines": "254-278" + "sourceLines": "307-331" } ] }, @@ -1304,7 +1304,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryExtensions.cs", - "sourceLines": "63-83" + "sourceLines": "64-84" }, { "name": "AddDeployment", @@ -1412,7 +1412,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryExtensions.cs", - "sourceLines": "132-139" + "sourceLines": "133-140" }, { "name": "AddFoundry", @@ -1483,7 +1483,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryExtensions.cs", - "sourceLines": "42-48" + "sourceLines": "43-49" }, { "name": "RunAsFoundryLocal", @@ -1502,33 +1502,182 @@ ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Binary compatibility overload. Polyglot AppHosts use the overload with the optional endpoint." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a Foundry Local resource to the distributed application builder. " + "text": " Configures a Microsoft Foundry resource to use an Aspire-managed Foundry Local service. " } ], "returns": [ { "kind": "text", - "text": "A resource builder for the Foundry Local resource." + "text": "The configured Microsoft Foundry resource builder." } ], "parameters": { "builder": [ { "kind": "text", - "text": "The distributed application builder." + "text": "The Microsoft Foundry resource builder." } ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "text", + "text": "Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": " is null." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryExtensions.cs", + "sourceLines": "169-169" + }, + { + "name": "RunAsFoundryLocal", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder FoundryExtensions.RunAsFoundryLocal(this IResourceBuilder builder, string? endpoint = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "endpoint", + "type": "string?", + "isNullable": true, + "isOptional": true + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Configures a Microsoft Foundry resource to use an Aspire-managed or existing Foundry Local service. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " When " + }, + { + "kind": "paramref", + "value": "endpoint" + }, + { + "kind": "text", + "text": " is provided, Aspire connects to that existing Foundry Local service without starting, stopping, downloading, or loading anything on its host. Models configured on the resource must already be loaded by the existing service. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The configured Microsoft Foundry resource builder." + } + ], + "parameters": { + "builder": [ + { + "kind": "text", + "text": "The Microsoft Foundry resource builder." + } + ], + "endpoint": [ + { + "kind": "text", + "text": "The endpoint of an existing Foundry Local service, or " + }, + { + "kind": "langword", + "value": "null" + }, + { + "kind": "text", + "text": " for an Aspire-managed service." + } + ] + }, + "exceptions": [ + { + "type": "T:System.ArgumentNullException", + "description": [ + { + "kind": "text", + "text": "Thrown when " + }, + { + "kind": "paramref", + "value": "builder" + }, + { + "kind": "text", + "text": " is null." + } + ] + }, + { + "type": "T:System.ArgumentException", + "description": [ + { + "kind": "text", + "text": "Thrown when " + }, + { + "kind": "paramref", + "value": "endpoint" + }, + { + "kind": "text", + "text": " is not an absolute HTTP or HTTPS URL." + } + ] + } + ], + "examples": [ + { + "code": "\n var foundry = builder.AddFoundry(\"foundry\")\n .RunAsFoundryLocal(\"http://windows-host:5273\");\n \n var chat = foundry.AddDeployment(\"chat\", FoundryModel.Local.Phi4Mini)\n .WithProperties(deployment =>\n {\n deployment.LocalModelId = \"Phi-4-mini-instruct-generic-gpu:5\";\n });\n ", + "language": "csharp", + "description": [ + { + "kind": "text", + "text": "Connect to an existing Foundry Local service and identify the model that is already loaded:" + } + ] + } + ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryExtensions.cs", - "sourceLines": "168-203" + "sourceLines": "202-259" }, { "name": "WithProperties", @@ -1606,7 +1755,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryExtensions.cs", - "sourceLines": "152-157" + "sourceLines": "153-158" }, { "name": "WithRoleAssignments", @@ -1706,8 +1855,8 @@ ] }, { - "name": "HostedAgentResourceBuilderExtensions", - "fullName": "Aspire.Hosting.HostedAgentResourceBuilderExtensions", + "name": "FoundryToolboxBuilderExtensions", + "fullName": "Aspire.Hosting.FoundryToolboxBuilderExtensions", "namespace": "Aspire.Hosting", "kind": "class", "accessibility": "public", @@ -1716,51 +1865,43 @@ "summary": [ { "kind": "text", - "text": " Extension methods for adding hosted agent applications to the distributed application model. " + "text": " Extension methods for adding Microsoft Foundry Toolbox resources and tools. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", - "sourceLines": "16-16", + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxBuilderExtensions.cs", + "sourceLines": "15-15", "members": [ { - "name": "AsHostedAgent", + "name": "AddToolbox", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder, HostedAgentProtocol protocol, string protocolVersion)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder FoundryToolboxBuilderExtensions.AddToolbox(this IResourceBuilder builder, string name, Action? configure = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { "name": "builder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "protocol", - "type": "Aspire.Hosting.Foundry.HostedAgentProtocol" - }, - { - "name": "protocolVersion", + "name": "name", "type": "string" - } - ], - "genericParameters": [ + }, { - "name": "T", - "constraints": [ - "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", - "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", - "Aspire.Hosting.ApplicationModel.IComputeResource" - ] + "name": "configure", + "type": "System.Action?", + "isNullable": true, + "isOptional": true } ], "attributes": [ { "name": "Aspire.Hosting.AspireExportIgnoreAttribute", "arguments": { - "Reason": "Subset of the full AsHostedAgent(project) overload which is exported." + "Reason": "Polyglot AppHosts use the FoundryToolboxOptions overload instead." } } ], @@ -1768,13 +1909,29 @@ "summary": [ { "kind": "text", - "text": " Configures the resource to run and publish as a Microsoft Foundry hosted agent. " + "text": " Adds a Microsoft Foundry Toolbox endpoint to a Microsoft Foundry project. " } ], "remarks": [ { "kind": "text", - "text": " In run mode, this method configures the resource with the hosted agent protocol endpoint, a dashboard command for sending messages to the agent, and OpenTelemetry environment variables expected by the Microsoft Foundry agent server SDK. In publish mode, it resolves or creates a Microsoft Foundry project and configures the resource to deploy as a hosted agent using the selected protocol version. " + "text": " Aspire reuses the current default version when its configuration matches. Otherwise, it creates and promotes a new immutable version. The " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Foundry.FoundryToolboxResource.Version" + }, + { + "kind": "text", + "text": " property pins the version used by consumers in the MCP endpoint URI; the version selected by the most recent reconciliation is exposed via " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Foundry.FoundryToolboxResource.DeployedVersion" + }, + { + "kind": "text", + "text": ". " } ], "returns": [ @@ -1788,91 +1945,78 @@ }, { "kind": "text", - "text": " for chaining." + "text": " for the Toolbox resource." } ], "parameters": { "builder": [ { "kind": "text", - "text": "The resource builder for the compute resource." + "text": "The resource builder for the Microsoft Foundry project." } ], - "protocol": [ + "configure": [ { "kind": "text", - "text": "The protocol exposed by the hosted agent container." + "text": "Optional callback used to configure the Toolbox resource." } ], - "protocolVersion": [ - { - "kind": "text", - "text": "The version of the protocol exposed by the hosted agent container." - } - ] - }, - "typeParameters": { - "T": [ + "name": [ { "kind": "text", - "text": "The type of resource being configured." + "text": "The Toolbox name." } ] }, "examples": [ { - "code": "\n var agent = builder.AddProject(\"agent\")\n .AsHostedAgent(HostedAgentProtocol.Responses, \"2.0.0\");\n ", + "code": "\n var foundry = builder.AddFoundry(\"foundry\");\n var project = foundry.AddProject(\"project\");\n var toolbox = project.AddToolbox(\"field-tools\")\n .WithWebSearchTool();\n \n builder.AddProject(\"worker\")\n .WithReference(toolbox)\n .WaitFor(toolbox);\n ", "language": "csharp" } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", - "sourceLines": "51-51" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxBuilderExtensions.cs", + "sourceLines": "50-67" }, { - "name": "AsHostedAgent", + "name": "AsExisting", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder FoundryToolboxBuilderExtensions.AsExisting(this IResourceBuilder builder)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { "name": "builder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" } ], - "genericParameters": [ - { - "name": "T", - "constraints": [ - "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", - "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", - "Aspire.Hosting.ApplicationModel.IComputeResource" - ] - } - ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Subset of the full AsHostedAgent(project) overload which is exported." - } + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures the resource to run and publish as a Microsoft Foundry hosted agent using the Responses protocol version 2.0.0. " + "text": " Uses an existing Microsoft Foundry Toolbox during local runs and deployment. " } ], "remarks": [ { "kind": "text", - "text": " This overload is retained for source compatibility. Prefer overloads that pass the Microsoft Foundry project and hosted agent protocol explicitly. " + "text": " Existing mode validates that the remote Toolbox and optional pinned " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Foundry.FoundryToolboxResource.Version" + }, + { + "kind": "text", + "text": " exist without resolving locally modeled tools or mutating the Toolbox. " } ], "returns": [ @@ -1893,93 +2037,53 @@ "builder": [ { "kind": "text", - "text": "The resource builder for the compute resource." - } - ] - }, - "typeParameters": { - "T": [ - { - "kind": "text", - "text": "The type of resource being configured." + "text": "The resource builder for the Toolbox." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", - "sourceLines": "68-68" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxBuilderExtensions.cs", + "sourceLines": "155-159" }, { - "name": "AsHostedAgent", + "name": "PublishAsExisting", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder, IResourceBuilder? project, Action? configure = null)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder FoundryToolboxBuilderExtensions.PublishAsExisting(this IResourceBuilder builder)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { "name": "builder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" - }, - { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder?", - "isNullable": true - }, - { - "name": "configure", - "type": "System.Action?", - "isNullable": true, - "isOptional": true - } - ], - "genericParameters": [ - { - "name": "T", - "constraints": [ - "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", - "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", - "Aspire.Hosting.ApplicationModel.IComputeResource" - ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Action callback shape is awkward for polyglot hosts; the defaulted asHostedAgent export covers this case." - } + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures the resource to run and publish as a Microsoft Foundry hosted agent using the Responses protocol version 2.0.0. " + "text": " Reconciles a Microsoft Foundry Toolbox during local runs and uses an existing Toolbox during deployment. " } ], "remarks": [ { "kind": "text", - "text": " This C# convenience overload defaults to the Responses protocol version 2.0.0, mirroring the exported " + "text": " Existing mode validates that the remote Toolbox and optional pinned " }, { - "kind": "code", - "text": "asHostedAgent" - }, - { - "kind": "text", - "text": " entry point used by polyglot AppHosts. Polyglot hosts that need a different protocol or version should use the exported " - }, - { - "kind": "code", - "text": "asHostedAgentWithProtocol" + "kind": "cref", + "value": "P:Aspire.Hosting.Foundry.FoundryToolboxResource.Version" }, { "kind": "text", - "text": " entry point instead. The configuration callback is applied in publish mode. " + "text": " exist without resolving locally modeled tools or mutating the Toolbox. " } ], "returns": [ @@ -2000,90 +2104,53 @@ "builder": [ { "kind": "text", - "text": "The resource builder for the compute resource." - } - ], - "configure": [ - { - "kind": "text", - "text": "A callback to configure hosted agent deployment options." - } - ], - "project": [ - { - "kind": "text", - "text": "Optional Microsoft Foundry project resource used for both run and publish mode configuration. When " - }, - { - "kind": "langword", - "value": "null" - }, - { - "kind": "text", - "text": ", an existing Foundry project in the model is reused or a new project is created in publish mode." - } - ] - }, - "typeParameters": { - "T": [ - { - "kind": "text", - "text": "The type of resource being configured." + "text": "The resource builder for the Toolbox." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", - "sourceLines": "92-92" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxBuilderExtensions.cs", + "sourceLines": "130-137" }, { - "name": "AsHostedAgent", + "name": "RunAsExisting", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder, Action configure)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder FoundryToolboxBuilderExtensions.RunAsExisting(this IResourceBuilder builder)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { "name": "builder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" - }, - { - "name": "configure", - "type": "System.Action" - } - ], - "genericParameters": [ - { - "name": "T", - "constraints": [ - "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", - "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", - "Aspire.Hosting.ApplicationModel.IComputeResource" - ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Subset of the full AsHostedAgent overload." - } + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures the resource to run and publish as a Microsoft Foundry hosted agent using the Responses protocol version 2.0.0. " + "text": " Uses an existing Microsoft Foundry Toolbox during local runs and reconciles it during deployment. " } ], "remarks": [ { "kind": "text", - "text": " This overload is retained for source compatibility. Prefer overloads that pass the Microsoft Foundry project and hosted agent protocol explicitly. " + "text": " Existing mode validates that the remote Toolbox and optional pinned " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Foundry.FoundryToolboxResource.Version" + }, + { + "kind": "text", + "text": " exist without resolving locally modeled tools or mutating the Toolbox. " } ], "returns": [ @@ -2104,115 +2171,57 @@ "builder": [ { "kind": "text", - "text": "The resource builder for the compute resource." - } - ], - "configure": [ - { - "kind": "text", - "text": "A callback to configure hosted agent deployment options." - } - ] - }, - "typeParameters": { - "T": [ - { - "kind": "text", - "text": "The type of resource being configured." + "text": "The resource builder for the Toolbox." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", - "sourceLines": "112-113" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxBuilderExtensions.cs", + "sourceLines": "105-112" }, { - "name": "AsHostedAgent", + "name": "WithAISearchTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder, IResourceBuilder? project, HostedAgentProtocol protocol, string protocolVersion, Action? configure = null)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder FoundryToolboxBuilderExtensions.WithAISearchTool(this IResourceBuilder builder, string name, IResourceBuilder search, string indexName, string? description = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { "name": "builder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder?", - "isNullable": true + "name": "name", + "type": "string" }, { - "name": "protocol", - "type": "Aspire.Hosting.Foundry.HostedAgentProtocol" + "name": "search", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" }, { - "name": "protocolVersion", + "name": "indexName", "type": "string" }, { - "name": "configure", - "type": "System.Action?", + "name": "description", + "type": "string?", "isNullable": true, "isOptional": true } ], - "genericParameters": [ - { - "name": "T", - "constraints": [ - "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", - "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", - "Aspire.Hosting.ApplicationModel.IComputeResource" - ] - } - ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Action callback shape is awkward for polyglot hosts; the HostedAgentOptions DTO shape is exported instead." - } + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures the resource to run and publish as a hosted agent in Microsoft Foundry, with full programmatic access to the underlying " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.HostedAgentConfiguration" - }, - { - "kind": "text", - "text": " (including Azure SDK-specific options such as tools and content filters). " - } - ], - "remarks": [ - { - "kind": "text", - "text": " The " - }, - { - "kind": "paramref", - "value": "protocol" - }, - { - "kind": "text", - "text": " parameter affects both run and publish mode. The " - }, - { - "kind": "paramref", - "value": "protocolVersion" - }, - { - "kind": "text", - "text": " parameter is emitted in publish mode. The configuration callback is applied in publish mode. " + "text": " Adds an Azure AI Search tool definition to the Toolbox. " } ], "returns": [ @@ -2233,112 +2242,67 @@ "builder": [ { "kind": "text", - "text": "The resource builder for the compute resource." + "text": "The resource builder for the Toolbox." } ], - "configure": [ + "description": [ { "kind": "text", - "text": "A callback to configure hosted agent deployment options." + "text": "An optional description of the Azure AI Search tool." } ], - "project": [ - { - "kind": "text", - "text": "Optional Microsoft Foundry project resource used for both run and publish mode configuration. When " - }, - { - "kind": "langword", - "value": "null" - }, + "indexName": [ { "kind": "text", - "text": ", an existing Foundry project in the model is reused or a new project is created in publish mode." + "text": "The search index name." } ], - "protocol": [ + "name": [ { "kind": "text", - "text": "The protocol exposed by the hosted agent container." + "text": "The tool name." } ], - "protocolVersion": [ - { - "kind": "text", - "text": "The version of the protocol exposed by the hosted agent container." - } - ] - }, - "typeParameters": { - "T": [ + "search": [ { "kind": "text", - "text": "The type of resource being configured." + "text": "The Azure AI Search resource backing the tool." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", - "sourceLines": "202-202" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxBuilderExtensions.cs", + "sourceLines": "314-342" }, { - "name": "AsHostedAgent", + "name": "WithDescription", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder, HostedAgentProtocol protocol, string protocolVersion, Action configure)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder FoundryToolboxBuilderExtensions.WithDescription(this IResourceBuilder builder, string description)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { "name": "builder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "protocol", - "type": "Aspire.Hosting.Foundry.HostedAgentProtocol" - }, - { - "name": "protocolVersion", + "name": "description", "type": "string" - }, - { - "name": "configure", - "type": "System.Action" - } - ], - "genericParameters": [ - { - "name": "T", - "constraints": [ - "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", - "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", - "Aspire.Hosting.ApplicationModel.IComputeResource" - ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Subset of the full AsHostedAgent overload." - } + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures the resource to run and publish as a hosted agent in Microsoft Foundry, with full programmatic access to the underlying " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.HostedAgentConfiguration" - }, - { - "kind": "text", - "text": ". The Foundry project is resolved automatically in publish mode. " + "text": " Sets the description persisted with each Toolbox version. " } ], "returns": [ @@ -2359,72 +2323,32 @@ "builder": [ { "kind": "text", - "text": "The resource builder for the compute resource." - } - ], - "configure": [ - { - "kind": "text", - "text": "A callback to configure hosted agent deployment options." - } - ], - "protocol": [ - { - "kind": "text", - "text": "The protocol exposed by the hosted agent container." + "text": "The resource builder for the Toolbox." } ], - "protocolVersion": [ - { - "kind": "text", - "text": "The version of the protocol exposed by the hosted agent container." - } - ] - }, - "typeParameters": { - "T": [ + "description": [ { "kind": "text", - "text": "The type of resource being configured." + "text": "The Toolbox description." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", - "sourceLines": "253-254" - } - ] - }, - { - "name": "PromptAgentBuilderExtensions", - "fullName": "Aspire.Hosting.PromptAgentBuilderExtensions", - "namespace": "Aspire.Hosting", - "kind": "class", - "accessibility": "public", - "isStatic": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Extension methods for adding Microsoft Foundry prompt agents and tools to the distributed application model. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "18-18", - "members": [ + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxBuilderExtensions.cs", + "sourceLines": "200-205" + }, { - "name": "AddAISearchTool", + "name": "WithMcpTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddAISearchTool(this IResourceBuilder project, string name, string? indexName = null)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder FoundryToolboxBuilderExtensions.WithMcpTool(this IResourceBuilder builder, string name, string endpoint, FoundryToolboxMcpToolOptions? options = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { @@ -2432,36 +2356,29 @@ "type": "string" }, { - "name": "indexName", - "type": "string?", + "name": "endpoint", + "type": "string" + }, + { + "name": "options", + "type": "Aspire.Hosting.Foundry.FoundryToolboxMcpToolOptions?", "isNullable": true, "isOptional": true } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Polyglot AppHosts use the union overload instead." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds an Azure AI Search tool to a Microsoft Foundry project, enabling agents to ground their responses using data from an Azure AI Search index. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " After creating the tool, call " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.WithReference(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureAISearchToolResource},Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Azure.AzureSearchResource})" - }, - { - "kind": "text", - "text": " to link it to the backing Azure AI Search resource. " + "text": " Adds an MCP tool definition to the Toolbox. " } ], "returns": [ @@ -2475,53 +2392,50 @@ }, { "kind": "text", - "text": " for the tool resource." + "text": " for chaining." } ], "parameters": { - "indexName": [ + "builder": [ { "kind": "text", - "text": "Optional name of the search index to query. If not specified, the agent must be told which index to use." + "text": "The resource builder for the Toolbox." } ], - "name": [ + "endpoint": [ { "kind": "text", - "text": "The name of the tool resource." + "text": "The MCP endpoint URI." } ], - "project": [ + "name": [ { "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, + "text": "The tool name." + } + ], + "options": [ { "kind": "text", - "text": " for the Microsoft Foundry project." + "text": "Optional MCP server metadata and approval policy." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "308-316" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxBuilderExtensions.cs" }, { - "name": "AddAzureFunctionTool", + "name": "WithMcpTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddAzureFunctionTool(this IResourceBuilder project, string name, string functionName, string description, BinaryData parameters, string inputQueueEndpoint, string inputQueueName, string outputQueueEndpoint, string outputQueueName)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder FoundryToolboxBuilderExtensions.WithMcpTool(this IResourceBuilder builder, string name, EndpointReference endpoint, FoundryToolboxMcpToolOptions? options = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { @@ -2529,39 +2443,21 @@ "type": "string" }, { - "name": "functionName", - "type": "string" - }, - { - "name": "description", - "type": "string" - }, - { - "name": "parameters", - "type": "System.BinaryData" - }, - { - "name": "inputQueueEndpoint", - "type": "string" - }, - { - "name": "inputQueueName", - "type": "string" - }, - { - "name": "outputQueueEndpoint", - "type": "string" + "name": "endpoint", + "type": "Aspire.Hosting.ApplicationModel.EndpointReference" }, { - "name": "outputQueueName", - "type": "string" + "name": "options", + "type": "Aspire.Hosting.Foundry.FoundryToolboxMcpToolOptions?", + "isNullable": true, + "isOptional": true } ], "attributes": [ { "name": "Aspire.Hosting.AspireExportIgnoreAttribute", "arguments": { - "Reason": "BinaryData parameter is not ATS-compatible. Use the string overload instead." + "Reason": "Polyglot AppHosts use the union overload instead." } } ], @@ -2569,7 +2465,21 @@ "summary": [ { "kind": "text", - "text": " Adds an Azure Function tool to a Microsoft Foundry project, enabling agents to invoke a serverless Azure Function with queue-based input/output bindings. " + "text": " Adds an MCP tool definition to the Toolbox. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " During local development, the endpoint must resolve to a Foundry-reachable HTTPS URI, such as an anonymous development tunnel. A localhost endpoint cannot be reached by the Foundry data plane. Resource endpoints deployed with public HTTPS ingress can be referenced directly when using " + }, + { + "kind": "code", + "text": "aspire deploy" + }, + { + "kind": "text", + "text": ". " } ], "returns": [ @@ -2583,122 +2493,63 @@ }, { "kind": "text", - "text": " for the tool resource." + "text": " for chaining." } ], "parameters": { - "description": [ - { - "kind": "text", - "text": "A description of what the function does." - } - ], - "functionName": [ - { - "kind": "text", - "text": "The name of the Azure Function." - } - ], - "inputQueueEndpoint": [ + "builder": [ { "kind": "text", - "text": "The Azure Storage Queue endpoint for input binding." + "text": "The resource builder for the Toolbox." } ], - "inputQueueName": [ + "endpoint": [ { "kind": "text", - "text": "The queue name for input binding." + "text": "The MCP endpoint." } ], "name": [ { "kind": "text", - "text": "The name of the tool resource." - } - ], - "outputQueueEndpoint": [ - { - "kind": "text", - "text": "The Azure Storage Queue endpoint for output binding." - } - ], - "outputQueueName": [ - { - "kind": "text", - "text": "The queue name for output binding." - } - ], - "parameters": [ - { - "kind": "text", - "text": "The JSON schema defining the function parameters." + "text": "The tool name." } ], - "project": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, + "options": [ { "kind": "text", - "text": " for the Microsoft Foundry project." + "text": "Optional MCP server metadata and approval policy." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "564-571" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxBuilderExtensions.cs" }, { - "name": "AddAzureFunctionTool", + "name": "WithWebSearchTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddAzureFunctionTool(this IResourceBuilder project, string name, string functionName, string description, string parametersJson, string inputQueueEndpoint, string inputQueueName, string outputQueueEndpoint, string outputQueueName)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder FoundryToolboxBuilderExtensions.WithWebSearchTool(this IResourceBuilder builder, string name = \"web-search\", string? description = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { "name": "name", - "type": "string" - }, - { - "name": "functionName", - "type": "string" + "type": "string", + "isOptional": true, + "defaultValue": "web-search" }, { "name": "description", - "type": "string" - }, - { - "name": "parametersJson", - "type": "string" - }, - { - "name": "inputQueueEndpoint", - "type": "string" - }, - { - "name": "inputQueueName", - "type": "string" - }, - { - "name": "outputQueueEndpoint", - "type": "string" - }, - { - "name": "outputQueueName", - "type": "string" + "type": "string?", + "isNullable": true, + "isOptional": true } ], "attributes": [ @@ -2710,7 +2561,7 @@ "summary": [ { "kind": "text", - "text": " Adds an Azure Function tool to a Microsoft Foundry project, enabling agents to invoke a serverless Azure Function with queue-based input/output bindings. " + "text": " Adds a web search tool definition to the Toolbox. " } ], "returns": [ @@ -2724,120 +2575,105 @@ }, { "kind": "text", - "text": " for the tool resource." + "text": " for chaining." } ], "parameters": { - "description": [ - { - "kind": "text", - "text": "A description of what the function does." - } - ], - "functionName": [ - { - "kind": "text", - "text": "The name of the Azure Function." - } - ], - "inputQueueEndpoint": [ + "builder": [ { "kind": "text", - "text": "The Azure Storage Queue endpoint for input binding." + "text": "The resource builder for the Toolbox." } ], - "inputQueueName": [ + "description": [ { "kind": "text", - "text": "The queue name for input binding." + "text": "An optional description of the web search tool." } ], "name": [ { "kind": "text", - "text": "The name of the tool resource." - } - ], - "outputQueueEndpoint": [ - { - "kind": "text", - "text": "The Azure Storage Queue endpoint for output binding." - } - ], - "outputQueueName": [ - { - "kind": "text", - "text": "The queue name for output binding." - } - ], - "parametersJson": [ - { - "kind": "text", - "text": "The JSON schema defining the function parameters as a JSON string." - } - ], - "project": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": " for the Microsoft Foundry project." + "text": "The tool name." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "602-604" - }, - { - "name": "AddBingGroundingTool", - "kind": "method", + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxBuilderExtensions.cs", + "sourceLines": "176-185" + } + ] + }, + { + "name": "HostedAgentResourceBuilderExtensions", + "fullName": "Aspire.Hosting.HostedAgentResourceBuilderExtensions", + "namespace": "Aspire.Hosting", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Extension methods for adding hosted agent applications to the distributed application model. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", + "sourceLines": "18-18", + "members": [ + { + "name": "AsHostedAgent", + "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddBingGroundingTool(this IResourceBuilder project, string name)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder, HostedAgentProtocol protocol, string protocolVersion)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "name", + "name": "protocol", + "type": "Aspire.Hosting.Foundry.HostedAgentProtocol" + }, + { + "name": "protocolVersion", "type": "string" } ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", + "Aspire.Hosting.ApplicationModel.IComputeResource" + ] + } + ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Subset of the full AsHostedAgent(project) overload which is exported." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a Bing Grounding tool to a Microsoft Foundry project, enabling agents to ground their responses using Bing Search results. " + "text": " Configures the resource to run and publish as a Microsoft Foundry hosted agent. " } ], "remarks": [ { "kind": "text", - "text": " After creating the tool, call one of the " - }, - { - "kind": "code", - "text": "WithReference" - }, - { - "kind": "text", - "text": " overloads to link it to a Bing Search resource. " + "text": " In run mode, this method configures the resource with the hosted agent protocol endpoint, a dashboard command for sending messages to the agent, and OpenTelemetry environment variables expected by the Microsoft Foundry agent server SDK. In publish mode, it resolves or creates a Microsoft Foundry project and configures the resource to deploy as a hosted agent using the selected protocol version. " } ], "returns": [ @@ -2851,64 +2687,91 @@ }, { "kind": "text", - "text": " for the tool resource." + "text": " for chaining." } ], "parameters": { - "name": [ + "builder": [ { "kind": "text", - "text": "The name of the tool resource." + "text": "The resource builder for the compute resource." } ], - "project": [ + "protocol": [ { "kind": "text", - "text": "The " - }, + "text": "The protocol exposed by the hosted agent container." + } + ], + "protocolVersion": [ { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, + "kind": "text", + "text": "The version of the protocol exposed by the hosted agent container." + } + ] + }, + "typeParameters": { + "T": [ { "kind": "text", - "text": " for the Microsoft Foundry project." + "text": "The type of resource being configured." } ] - } + }, + "examples": [ + { + "code": "\n var agent = builder.AddProject(\"agent\")\n .AsHostedAgent(HostedAgentProtocol.Responses, \"2.0.0\");\n ", + "language": "csharp" + } + ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "371-376" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", + "sourceLines": "53-53" }, { - "name": "AddCodeInterpreterTool", + "name": "AsHostedAgent", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddCodeInterpreterTool(this IResourceBuilder project, string name)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" - }, + } + ], + "genericParameters": [ { - "name": "name", - "type": "string" + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", + "Aspire.Hosting.ApplicationModel.IComputeResource" + ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Subset of the full AsHostedAgent(project) overload which is exported." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a Code Interpreter tool to a Microsoft Foundry project, enabling agents to write and run Python code in a sandboxed environment for data analysis, math, and chart generation. " + "text": " Configures the resource to run and publish as a Microsoft Foundry hosted agent using the Responses protocol version 2.0.0. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This overload is retained for source compatibility. Prefer overloads that pass the Microsoft Foundry project and hosted agent protocol explicitly. " } ], "returns": [ @@ -2922,82 +2785,100 @@ }, { "kind": "text", - "text": " for the tool resource." + "text": " for chaining." } ], "parameters": { - "name": [ + "builder": [ { "kind": "text", - "text": "The name of the tool resource." + "text": "The resource builder for the compute resource." } - ], - "project": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, + ] + }, + "typeParameters": { + "T": [ { "kind": "text", - "text": " for the Microsoft Foundry project." + "text": "The type of resource being configured." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "176-181" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", + "sourceLines": "70-70" }, { - "name": "AddComputerUseTool", + "name": "AsHostedAgent", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddComputerUseTool(this IResourceBuilder project, string name, int displayWidth = 1024, int displayHeight = 768, string environment = \"browser\")", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder, IResourceBuilder? project, Action? configure = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "name", - "type": "string" - }, - { - "name": "displayWidth", - "type": "int", - "isOptional": true, - "defaultValue": "1024" + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder?", + "isNullable": true }, { - "name": "displayHeight", - "type": "int", - "isOptional": true, - "defaultValue": "768" - }, + "name": "configure", + "type": "System.Action?", + "isNullable": true, + "isOptional": true + } + ], + "genericParameters": [ { - "name": "environment", - "type": "string", - "isOptional": true, - "defaultValue": "browser" + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", + "Aspire.Hosting.ApplicationModel.IComputeResource" + ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Action callback shape is awkward for polyglot hosts; the defaulted asHostedAgent export covers this case." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a Computer Use tool to a Microsoft Foundry project, enabling agents to interact with a computer desktop by taking screenshots, moving the mouse, clicking, and typing. " + "text": " Configures the resource to run and publish as a Microsoft Foundry hosted agent using the Responses protocol version 2.0.0. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This C# convenience overload defaults to the Responses protocol version 2.0.0, mirroring the exported " + }, + { + "kind": "code", + "text": "asHostedAgent" + }, + { + "kind": "text", + "text": " entry point used by polyglot AppHosts. Polyglot hosts that need a different protocol or version should use the exported " + }, + { + "kind": "code", + "text": "asHostedAgentWithProtocol" + }, + { + "kind": "text", + "text": " entry point instead. The configuration callback is applied in publish mode. " } ], "returns": [ @@ -3011,87 +2892,97 @@ }, { "kind": "text", - "text": " for the tool resource." + "text": " for chaining." } ], "parameters": { - "displayHeight": [ + "builder": [ { "kind": "text", - "text": "The height of the display in pixels." + "text": "The resource builder for the compute resource." } ], - "displayWidth": [ + "configure": [ { "kind": "text", - "text": "The width of the display in pixels." + "text": "A callback to configure hosted agent deployment options." } ], - "environment": [ + "project": [ { "kind": "text", - "text": "The environment identifier. Defaults to \"browser\"." - } - ], - "name": [ + "text": "Optional Microsoft Foundry project resource used for both run and publish mode configuration. When " + }, { - "kind": "text", - "text": "The name of the tool resource." - } - ], - "project": [ - { - "kind": "text", - "text": "The " + "kind": "langword", + "value": "null" }, { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, + "kind": "text", + "text": ", an existing Foundry project in the model is reused or a new project is created in publish mode." + } + ] + }, + "typeParameters": { + "T": [ { "kind": "text", - "text": " for the Microsoft Foundry project." + "text": "The type of resource being configured." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "275-280" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", + "sourceLines": "94-94" }, { - "name": "AddFabricTool", + "name": "AsHostedAgent", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddFabricTool(this IResourceBuilder project, string name, params string[] projectConnectionIds)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder, Action configure)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "name", - "type": "string" - }, + "name": "configure", + "type": "System.Action" + } + ], + "genericParameters": [ { - "name": "projectConnectionIds", - "type": "string[]", - "modifier": "params" + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", + "Aspire.Hosting.ApplicationModel.IComputeResource" + ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Subset of the full AsHostedAgent overload." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a Microsoft Fabric data agent tool to a Microsoft Foundry project, enabling agents to query data through Fabric data agents. " + "text": " Configures the resource to run and publish as a Microsoft Foundry hosted agent using the Responses protocol version 2.0.0. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This overload is retained for source compatibility. Prefer overloads that pass the Microsoft Foundry project and hosted agent protocol explicitly. " } ], "returns": [ @@ -3105,75 +2996,122 @@ }, { "kind": "text", - "text": " for the tool resource." + "text": " for chaining." } ], "parameters": { - "name": [ + "builder": [ { "kind": "text", - "text": "The name of the tool resource." + "text": "The resource builder for the compute resource." } ], - "project": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, + "configure": [ { "kind": "text", - "text": " for the Microsoft Foundry project." + "text": "A callback to configure hosted agent deployment options." } - ], - "projectConnectionIds": [ + ] + }, + "typeParameters": { + "T": [ { "kind": "text", - "text": "The Foundry project connection IDs for the Fabric data agents." + "text": "The type of resource being configured." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "526-531" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", + "sourceLines": "114-115" }, { - "name": "AddFileSearchTool", + "name": "AsHostedAgent", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddFileSearchTool(this IResourceBuilder project, string name, params string[] vectorStoreIds)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder, IResourceBuilder? project, HostedAgentProtocol protocol, string protocolVersion, Action? configure = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "name", + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder?", + "isNullable": true + }, + { + "name": "protocol", + "type": "Aspire.Hosting.Foundry.HostedAgentProtocol" + }, + { + "name": "protocolVersion", "type": "string" }, { - "name": "vectorStoreIds", - "type": "string[]", - "modifier": "params" + "name": "configure", + "type": "System.Action?", + "isNullable": true, + "isOptional": true + } + ], + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", + "Aspire.Hosting.ApplicationModel.IComputeResource" + ] } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Action callback shape is awkward for polyglot hosts; the HostedAgentOptions DTO shape is exported instead." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a File Search tool to a Microsoft Foundry project, enabling agents to search uploaded files and proprietary documents using vector search. " + "text": " Configures the resource to run and publish as a hosted agent in Microsoft Foundry, with full programmatic access to the underlying " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.HostedAgentConfiguration" + }, + { + "kind": "text", + "text": " (including Azure SDK-specific options such as tools and content filters). " + } + ], + "remarks": [ + { + "kind": "text", + "text": " The " + }, + { + "kind": "paramref", + "value": "protocol" + }, + { + "kind": "text", + "text": " parameter affects both run and publish mode. The " + }, + { + "kind": "paramref", + "value": "protocolVersion" + }, + { + "kind": "text", + "text": " parameter is emitted in publish mode. The configuration callback is applied in publish mode. " } ], "returns": [ @@ -3187,85 +3125,103 @@ }, { "kind": "text", - "text": " for the tool resource." + "text": " for chaining." } ], "parameters": { - "name": [ + "builder": [ { "kind": "text", - "text": "The name of the tool resource." + "text": "The resource builder for the compute resource." + } + ], + "configure": [ + { + "kind": "text", + "text": "A callback to configure hosted agent deployment options." } ], "project": [ { "kind": "text", - "text": "The " + "text": "Optional Microsoft Foundry project resource used for both run and publish mode configuration. When " }, { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + "kind": "langword", + "value": "null" }, { "kind": "text", - "text": " for the Microsoft Foundry project." + "text": ", an existing Foundry project in the model is reused or a new project is created in publish mode." } ], - "vectorStoreIds": [ + "protocol": [ { "kind": "text", - "text": "Optional vector store IDs to search. If empty, the agent's default stores are used." + "text": "The protocol exposed by the hosted agent container." + } + ], + "protocolVersion": [ + { + "kind": "text", + "text": "The version of the protocol exposed by the hosted agent container." + } + ] + }, + "typeParameters": { + "T": [ + { + "kind": "text", + "text": "The type of resource being configured." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "200-208" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", + "sourceLines": "204-204" }, { - "name": "AddFunctionTool", + "name": "AsHostedAgent", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddFunctionTool(this IResourceBuilder project, string name, string functionName, BinaryData parameters, string? description = null, bool? strictModeEnabled = null)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder HostedAgentResourceBuilderExtensions.AsHostedAgent(this IResourceBuilder builder, HostedAgentProtocol protocol, string protocolVersion, Action configure)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "project", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "name", - "type": "string" + "name": "protocol", + "type": "Aspire.Hosting.Foundry.HostedAgentProtocol" }, { - "name": "functionName", + "name": "protocolVersion", "type": "string" }, { - "name": "parameters", - "type": "System.BinaryData" - }, - { - "name": "description", - "type": "string?", - "isNullable": true, - "isOptional": true - }, + "name": "configure", + "type": "System.Action" + } + ], + "genericParameters": [ { - "name": "strictModeEnabled", - "type": "bool?", - "isNullable": true, - "isOptional": true + "name": "T", + "constraints": [ + "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", + "Aspire.Hosting.ApplicationModel.IComputeResource" + ] } ], "attributes": [ { "name": "Aspire.Hosting.AspireExportIgnoreAttribute", "arguments": { - "Reason": "BinaryData parameter is not ATS-compatible. Use the string overload instead." + "Reason": "Subset of the full AsHostedAgent overload." } } ], @@ -3273,12 +3229,20 @@ "summary": [ { "kind": "text", - "text": " Adds a function calling tool to a Microsoft Foundry project, enabling agents to call application-defined functions with structured parameters. " - } - ], - "returns": [ + "text": " Configures the resource to run and publish as a hosted agent in Microsoft Foundry, with full programmatic access to the underlying " + }, { - "kind": "text", + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.HostedAgentConfiguration" + }, + { + "kind": "text", + "text": ". The Foundry project is resolved automatically in publish mode. " + } + ], + "returns": [ + { + "kind": "text", "text": "A reference to the " }, { @@ -3287,65 +3251,73 @@ }, { "kind": "text", - "text": " for the tool resource." + "text": " for chaining." } ], "parameters": { - "description": [ - { - "kind": "text", - "text": "A description of what the function does." - } - ], - "functionName": [ + "builder": [ { "kind": "text", - "text": "The name of the function." + "text": "The resource builder for the compute resource." } ], - "name": [ + "configure": [ { "kind": "text", - "text": "The name of the tool resource." + "text": "A callback to configure hosted agent deployment options." } ], - "parameters": [ + "protocol": [ { "kind": "text", - "text": "The JSON schema defining the function parameters." + "text": "The protocol exposed by the hosted agent container." } ], - "project": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, + "protocolVersion": [ { "kind": "text", - "text": " for the Microsoft Foundry project." + "text": "The version of the protocol exposed by the hosted agent container." } - ], - "strictModeEnabled": [ + ] + }, + "typeParameters": { + "T": [ { "kind": "text", - "text": "Whether to enable strict mode for parameter validation." + "text": "The type of resource being configured." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "627-633" - }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentBuilderExtension.cs", + "sourceLines": "255-256" + } + ] + }, + { + "name": "PromptAgentBuilderExtensions", + "fullName": "Aspire.Hosting.PromptAgentBuilderExtensions", + "namespace": "Aspire.Hosting", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Extension methods for adding Microsoft Foundry prompt agents and tools to the distributed application model. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "18-18", + "members": [ { - "name": "AddImageGenerationTool", + "name": "AddAISearchTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddImageGenerationTool(this IResourceBuilder project, string name)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddAISearchTool(this IResourceBuilder project, string name, string? indexName = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ @@ -3357,6 +3329,12 @@ { "name": "name", "type": "string" + }, + { + "name": "indexName", + "type": "string?", + "isNullable": true, + "isOptional": true } ], "attributes": [ @@ -3368,7 +3346,21 @@ "summary": [ { "kind": "text", - "text": " Adds an Image Generation tool to a Microsoft Foundry project, enabling agents to generate and edit images. " + "text": " Adds an Azure AI Search tool to a Microsoft Foundry project, enabling agents to ground their responses using data from an Azure AI Search index. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " After creating the tool, call " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.WithReference(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureAISearchToolResource},Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Azure.AzureSearchResource})" + }, + { + "kind": "text", + "text": " to link it to the backing Azure AI Search resource. " } ], "returns": [ @@ -3386,6 +3378,12 @@ } ], "parameters": { + "indexName": [ + { + "kind": "text", + "text": "Optional name of the search index to query. If not specified, the agent must be told which index to use." + } + ], "name": [ { "kind": "text", @@ -3409,14 +3407,14 @@ } }, "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "247-252" + "sourceLines": "308-316" }, { - "name": "AddPromptAgent", + "name": "AddAzureFunctionTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddPromptAgent(this IResourceBuilder project, string name, IResourceBuilder model, string? instructions = null)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddAzureFunctionTool(this IResourceBuilder project, string name, string functionName, string description, BinaryData parameters, string inputQueueEndpoint, string inputQueueName, string outputQueueEndpoint, string outputQueueName)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ @@ -3430,62 +3428,47 @@ "type": "string" }, { - "name": "model", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + "name": "functionName", + "type": "string" }, { - "name": "instructions", - "type": "string?", - "isNullable": true, - "isOptional": true + "name": "description", + "type": "string" + }, + { + "name": "parameters", + "type": "System.BinaryData" + }, + { + "name": "inputQueueEndpoint", + "type": "string" + }, + { + "name": "inputQueueName", + "type": "string" + }, + { + "name": "outputQueueEndpoint", + "type": "string" + }, + { + "name": "outputQueueName", + "type": "string" } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "BinaryData parameter is not ATS-compatible. Use the string overload instead." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a prompt agent to a Microsoft Foundry project with the specified tools. " - } - ], - "remarks": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": " Prompt agents are always deployed to Azure Foundry, even during local development (" - }, - { - "kind": "code", - "text": "aspire run" - }, - { - "kind": "text", - "text": "). Local services communicate with the cloud-provisioned agent using the project endpoint and agent name injected as environment variables. " - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": " Tools are project-level resources created with " - }, - { - "kind": "code", - "text": "Add*Tool" - }, - { - "kind": "text", - "text": " methods and can be reused across multiple agents in the same project. " - } - ] + "text": " Adds an Azure Function tool to a Microsoft Foundry project, enabling agents to invoke a serverless Azure Function with queue-based input/output bindings. " } ], "returns": [ @@ -3499,26 +3482,56 @@ }, { "kind": "text", - "text": " for the prompt agent resource." + "text": " for the tool resource." } ], "parameters": { - "instructions": [ + "description": [ { "kind": "text", - "text": "Optional system instructions for the agent." + "text": "A description of what the function does." } ], - "model": [ + "functionName": [ { "kind": "text", - "text": "The model deployment to use for this agent." + "text": "The name of the Azure Function." + } + ], + "inputQueueEndpoint": [ + { + "kind": "text", + "text": "The Azure Storage Queue endpoint for input binding." + } + ], + "inputQueueName": [ + { + "kind": "text", + "text": "The queue name for input binding." } ], "name": [ { "kind": "text", - "text": "The name of the prompt agent. This will be the agent name in Foundry." + "text": "The name of the tool resource." + } + ], + "outputQueueEndpoint": [ + { + "kind": "text", + "text": "The Azure Storage Queue endpoint for output binding." + } + ], + "outputQueueName": [ + { + "kind": "text", + "text": "The queue name for output binding." + } + ], + "parameters": [ + { + "kind": "text", + "text": "The JSON schema defining the function parameters." } ], "project": [ @@ -3532,26 +3545,20 @@ }, { "kind": "text", - "text": " for the parent Microsoft Foundry project resource." + "text": " for the Microsoft Foundry project." } ] - }, - "examples": [ - { - "code": "\n var foundry = builder.AddFoundry(\"aif\");\n var project = foundry.AddProject(\"proj\");\n var chat = project.AddModelDeployment(\"gpt41\", FoundryModel.OpenAI.Gpt41);\n \n var bing = project.AddBingGroundingTool(\"bing\").WithReference(bingConnection);\n var aiSearch = project.AddAISearchTool(\"search\").WithReference(searchResource);\n var codeInterp = project.AddCodeInterpreterTool(\"code-interp\");\n \n project.AddPromptAgent(\"joker-agent\", chat,\n instructions: \"You are good at telling jokes.\")\n .WithTool(bing)\n .WithTool(aiSearch)\n .WithTool(codeInterp);\n ", - "language": "csharp" - } - ] + } }, "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "65-134" + "sourceLines": "564-571" }, { - "name": "AddSharePointTool", + "name": "AddAzureFunctionTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddSharePointTool(this IResourceBuilder project, string name, params string[] projectConnectionIds)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddAzureFunctionTool(this IResourceBuilder project, string name, string functionName, string description, string parametersJson, string inputQueueEndpoint, string inputQueueName, string outputQueueEndpoint, string outputQueueName)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ @@ -3565,11 +3572,34 @@ "type": "string" }, { - "name": "projectConnectionIds", - "type": "string[]", - "modifier": "params" - } - ], + "name": "functionName", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "parametersJson", + "type": "string" + }, + { + "name": "inputQueueEndpoint", + "type": "string" + }, + { + "name": "inputQueueName", + "type": "string" + }, + { + "name": "outputQueueEndpoint", + "type": "string" + }, + { + "name": "outputQueueName", + "type": "string" + } + ], "attributes": [ { "name": "Aspire.Hosting.AspireExportAttribute" @@ -3579,7 +3609,7 @@ "summary": [ { "kind": "text", - "text": " Adds a SharePoint grounding tool to a Microsoft Foundry project, enabling agents to search data from SharePoint sites configured as Foundry project connections. " + "text": " Adds an Azure Function tool to a Microsoft Foundry project, enabling agents to invoke a serverless Azure Function with queue-based input/output bindings. " } ], "returns": [ @@ -3597,12 +3627,54 @@ } ], "parameters": { + "description": [ + { + "kind": "text", + "text": "A description of what the function does." + } + ], + "functionName": [ + { + "kind": "text", + "text": "The name of the Azure Function." + } + ], + "inputQueueEndpoint": [ + { + "kind": "text", + "text": "The Azure Storage Queue endpoint for input binding." + } + ], + "inputQueueName": [ + { + "kind": "text", + "text": "The queue name for input binding." + } + ], "name": [ { "kind": "text", "text": "The name of the tool resource." } ], + "outputQueueEndpoint": [ + { + "kind": "text", + "text": "The Azure Storage Queue endpoint for output binding." + } + ], + "outputQueueName": [ + { + "kind": "text", + "text": "The queue name for output binding." + } + ], + "parametersJson": [ + { + "kind": "text", + "text": "The JSON schema defining the function parameters as a JSON string." + } + ], "project": [ { "kind": "text", @@ -3616,24 +3688,18 @@ "kind": "text", "text": " for the Microsoft Foundry project." } - ], - "projectConnectionIds": [ - { - "kind": "text", - "text": "The Foundry project connection IDs for the SharePoint sites." - } ] } }, "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "502-507" + "sourceLines": "602-604" }, { - "name": "AddWebSearchTool", + "name": "AddBingGroundingTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddWebSearchTool(this IResourceBuilder project, string name)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddBingGroundingTool(this IResourceBuilder project, string name)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ @@ -3656,7 +3722,21 @@ "summary": [ { "kind": "text", - "text": " Adds a Web Search tool to a Microsoft Foundry project, enabling agents to retrieve real-time information from the public web and return answers with inline citations. " + "text": " Adds a Bing Grounding tool to a Microsoft Foundry project, enabling agents to ground their responses using Bing Search results. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " After creating the tool, call one of the " + }, + { + "kind": "code", + "text": "WithReference" + }, + { + "kind": "text", + "text": " overloads to link it to a Bing Search resource. " } ], "returns": [ @@ -3697,78 +3777,37 @@ } }, "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "225-230" + "sourceLines": "371-376" }, { - "name": "WithCustomTool", + "name": "AddCodeInterpreterTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithCustomTool(this IResourceBuilder builder, IFoundryTool tool)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddCodeInterpreterTool(this IResourceBuilder project, string name)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "builder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "tool", - "type": "Aspire.Hosting.Foundry.IFoundryTool" + "name": "name", + "type": "string" } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "IFoundryTool is not ATS-compatible." - } + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a custom tool implementation to a prompt agent using the " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.IFoundryTool" - }, - { - "kind": "text", - "text": " interface. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This is an advanced extensibility point for tools that don't fit the standard " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.FoundryToolResource" - }, - { - "kind": "text", - "text": " model. For most scenarios, use the project-level " - }, - { - "kind": "code", - "text": "Add*Tool" - }, - { - "kind": "text", - "text": " methods and pass tool resources to " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.AddPromptAgent(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String,Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.FoundryDeploymentResource},System.String)" - }, - { - "kind": "text", - "text": ". " + "text": " Adds a Code Interpreter tool to a Microsoft Foundry project, enabling agents to write and run Python code in a sandboxed environment for data analysis, math, and chart generation. " } ], "returns": [ @@ -3782,44 +3821,70 @@ }, { "kind": "text", - "text": " for chaining." + "text": " for the tool resource." } ], "parameters": { - "builder": [ + "name": [ { "kind": "text", - "text": "The prompt agent resource builder." + "text": "The name of the tool resource." } ], - "tool": [ + "project": [ { "kind": "text", - "text": "The custom tool implementation." + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for the Microsoft Foundry project." } ] } }, "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "682-686" + "sourceLines": "176-181" }, { - "name": "WithReference", + "name": "AddComputerUseTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithReference(this IResourceBuilder tool, IResourceBuilder search)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddComputerUseTool(this IResourceBuilder project, string name, int displayWidth = 1024, int displayHeight = 768, string environment = \"browser\")", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "tool", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "search", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + "name": "name", + "type": "string" + }, + { + "name": "displayWidth", + "type": "int", + "isOptional": true, + "defaultValue": "1024" + }, + { + "name": "displayHeight", + "type": "int", + "isOptional": true, + "defaultValue": "768" + }, + { + "name": "environment", + "type": "string", + "isOptional": true, + "defaultValue": "browser" } ], "attributes": [ @@ -3831,15 +3896,7 @@ "summary": [ { "kind": "text", - "text": " Links an Azure AI Search tool to a backing " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Azure.AzureSearchResource" - }, - { - "kind": "text", - "text": ", creating the necessary Foundry project connection and role assignments. " + "text": " Adds a Computer Use tool to a Microsoft Foundry project, enabling agents to interact with a computer desktop by taking screenshots, moving the mouse, clicking, and typing. " } ], "returns": [ @@ -3853,59 +3910,87 @@ }, { "kind": "text", - "text": " for chaining." + "text": " for the tool resource." } ], "parameters": { - "search": [ + "displayHeight": [ { "kind": "text", - "text": "The Azure AI Search resource to use for grounding." + "text": "The height of the display in pixels." } ], - "tool": [ + "displayWidth": [ { "kind": "text", - "text": "The Azure AI Search tool resource builder." + "text": "The width of the display in pixels." } - ] - } - }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "333-350" - }, - { - "name": "WithReference", - "kind": "method", - "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithReference(this IResourceBuilder tool, IResourceBuilder bingConnection)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", - "isStatic": true, - "isExtension": true, - "parameters": [ - { - "name": "tool", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", - "modifier": "this" - }, - { - "name": "bingConnection", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + ], + "environment": [ + { + "kind": "text", + "text": "The environment identifier. Defaults to \"browser\"." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the tool resource." + } + ], + "project": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for the Microsoft Foundry project." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "275-280" + }, + { + "name": "AddFabricTool", + "kind": "method", + "accessibility": "public", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddFabricTool(this IResourceBuilder project, string name, params string[] projectConnectionIds)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "projectConnectionIds", + "type": "string[]", + "modifier": "params" } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Covered by the internal AspireUnion overload." - } + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Links a Bing Grounding tool to a Foundry project connection for the Bing Search service. " + "text": " Adds a Microsoft Fabric data agent tool to a Microsoft Foundry project, enabling agents to query data through Fabric data agents. " } ], "returns": [ @@ -3919,75 +4004,75 @@ }, { "kind": "text", - "text": " for chaining." + "text": " for the tool resource." } ], "parameters": { - "bingConnection": [ + "name": [ { "kind": "text", - "text": " The Bing grounding connection resource builder created by " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.AzureCognitiveServicesProjectConnectionsBuilderExtensions.AddBingGroundingConnection(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String,System.String)" - }, + "text": "The name of the tool resource." + } + ], + "project": [ { "kind": "text", - "text": " or " + "text": "The " }, { "kind": "cref", - "value": "M:Aspire.Hosting.AzureCognitiveServicesProjectConnectionsBuilderExtensions.AddBingGroundingConnection(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String,Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.ApplicationModel.ParameterResource})" + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" }, { "kind": "text", - "text": ". " + "text": " for the Microsoft Foundry project." } ], - "tool": [ + "projectConnectionIds": [ { "kind": "text", - "text": "The Bing Grounding tool resource builder." + "text": "The Foundry project connection IDs for the Fabric data agents." } ] } }, "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "395-395" + "sourceLines": "526-531" }, { - "name": "WithReference", + "name": "AddFileSearchTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithReference(this IResourceBuilder tool, string bingResourceId)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddFileSearchTool(this IResourceBuilder project, string name, params string[] vectorStoreIds)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "tool", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "bingResourceId", + "name": "name", "type": "string" + }, + { + "name": "vectorStoreIds", + "type": "string[]", + "modifier": "params" } ], "attributes": [ { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Covered by the internal AspireUnion overload." - } + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Links a Bing Grounding tool to a Bing Search resource by using its Azure resource ID. " + "text": " Adds a File Search tool to a Microsoft Foundry project, enabling agents to search uploaded files and proprietary documents using vector search. " } ], "returns": [ @@ -4001,58 +4086,85 @@ }, { "kind": "text", - "text": " for chaining." + "text": " for the tool resource." } ], "parameters": { - "bingResourceId": [ + "name": [ { "kind": "text", - "text": " The full Azure resource ID of the Bing Search resource (e.g., " + "text": "The name of the tool resource." + } + ], + "project": [ + { + "kind": "text", + "text": "The " }, { - "kind": "code", - "text": "/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Bing/accounts/{name}" + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" }, { "kind": "text", - "text": "). " + "text": " for the Microsoft Foundry project." } ], - "tool": [ + "vectorStoreIds": [ { "kind": "text", - "text": "The Bing Grounding tool resource builder." + "text": "Optional vector store IDs to search. If empty, the agent's default stores are used." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "200-208" }, { - "name": "WithReference", + "name": "AddFunctionTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithReference(this IResourceBuilder tool, IResourceBuilder bingResourceId)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddFunctionTool(this IResourceBuilder project, string name, string functionName, BinaryData parameters, string? description = null, bool? strictModeEnabled = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "tool", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "bingResourceId", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + "name": "name", + "type": "string" + }, + { + "name": "functionName", + "type": "string" + }, + { + "name": "parameters", + "type": "System.BinaryData" + }, + { + "name": "description", + "type": "string?", + "isNullable": true, + "isOptional": true + }, + { + "name": "strictModeEnabled", + "type": "bool?", + "isNullable": true, + "isOptional": true } ], "attributes": [ { "name": "Aspire.Hosting.AspireExportIgnoreAttribute", "arguments": { - "Reason": "Covered by the internal AspireUnion overload." + "Reason": "BinaryData parameter is not ATS-compatible. Use the string overload instead." } } ], @@ -4060,7 +4172,7 @@ "summary": [ { "kind": "text", - "text": " Links a Bing Grounding tool to a Bing Search resource by using a parameter that contains its Azure resource ID. " + "text": " Adds a function calling tool to a Microsoft Foundry project, enabling agents to call application-defined functions with structured parameters. " } ], "returns": [ @@ -4074,43 +4186,76 @@ }, { "kind": "text", - "text": " for chaining." + "text": " for the tool resource." } ], "parameters": { - "bingResourceId": [ + "description": [ { "kind": "text", - "text": " A parameter resource containing the full Azure resource ID of the Bing Search resource. " + "text": "A description of what the function does." } ], - "tool": [ + "functionName": [ { "kind": "text", - "text": "The Bing Grounding tool resource builder." + "text": "The name of the function." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the tool resource." + } + ], + "parameters": [ + { + "kind": "text", + "text": "The JSON schema defining the function parameters." + } + ], + "project": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for the Microsoft Foundry project." + } + ], + "strictModeEnabled": [ + { + "kind": "text", + "text": "Whether to enable strict mode for parameter validation." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "627-633" }, { - "name": "WithTool", + "name": "AddImageGenerationTool", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithTool(this IResourceBuilder agent, IResourceBuilder tool)", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddImageGenerationTool(this IResourceBuilder project, string name)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ { - "name": "agent", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "modifier": "this" }, { - "name": "tool", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + "name": "name", + "type": "string" } ], "attributes": [ @@ -4122,7 +4267,7 @@ "summary": [ { "kind": "text", - "text": " Adds a tool to a prompt agent. " + "text": " Adds an Image Generation tool to a Microsoft Foundry project, enabling agents to generate and edit images. " } ], "returns": [ @@ -4136,365 +4281,295 @@ }, { "kind": "text", - "text": " for chaining." + "text": " for the tool resource." } ], "parameters": { - "agent": [ + "name": [ { "kind": "text", - "text": "The prompt agent resource builder." + "text": "The name of the tool resource." } ], - "tool": [ + "project": [ { "kind": "text", - "text": "The tool resource to attach to this agent." + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for the Microsoft Foundry project." } ] } }, "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", - "sourceLines": "149-155" - } - ] - }, - { - "name": "Anthropic", - "fullName": "Aspire.Hosting.Foundry.FoundryModel.Anthropic", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isStatic": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Models published by Anthropic. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", - "sourceLines": "13-13", - "members": [ + "sourceLines": "247-252" + }, { - "name": "ClaudeFable5", - "kind": "field", + "name": "AddPromptAgent", + "kind": "method", "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeFable5", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddPromptAgent(this IResourceBuilder project, string name, IResourceBuilder model, string? instructions = null)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, - "isReadOnly": true, + "isExtension": true, + "parameters": [ + { + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "model", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + }, + { + "name": "instructions", + "type": "string?", + "isNullable": true, + "isOptional": true + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], "docs": { "summary": [ { "kind": "text", - "text": " Claude Fable 5 is our most intelligent Fable model and the best generally available model for coding and agents, with deeper reasoning for enterprise workflows. " + "text": " Adds a prompt agent to a Microsoft Foundry project with the specified tools. " } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ClaudeHaiku45", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeHaiku45", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + ], + "remarks": [ { - "kind": "text", - "text": " Claude Haiku 4.5 delivers near-frontier performance for a wide range of use cases, and stands out as one of the best coding and agent models – with the right speed and cost to power free products and scaled sub-agents. " + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Prompt agents are always deployed to Azure Foundry, even during local development (" + }, + { + "kind": "code", + "text": "aspire run" + }, + { + "kind": "text", + "text": "). Local services communicate with the cloud-provisioned agent using the project endpoint and agent name injected as environment variables. " + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": " Tools are project-level resources created with " + }, + { + "kind": "code", + "text": "Add*Tool" + }, + { + "kind": "text", + "text": " methods and can be reused across multiple agents in the same project. " + } + ] } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ClaudeMythos5", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeMythos5", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + ], + "returns": [ { "kind": "text", - "text": " Claude Mythos 5 (gated) is a new class of intelligence for cybersecurity, coding, and long-running agents. Only available as a gated research preview with access prioritized for defensive cybersecurity use cases " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ClaudeMythosPreview", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeMythosPreview", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, { "kind": "text", - "text": " Claude Mythos Preview (gated research preview) is a new class of intelligence for cybersecurity, coding, and long-running agents. Only available as a gated research preview with access prioritized for defensive cybersecurity use cases " + "text": " for the prompt agent resource." } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ClaudeOpus41", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus41", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + ], + "parameters": { + "instructions": [ + { + "kind": "text", + "text": "Optional system instructions for the agent." + } + ], + "model": [ + { + "kind": "text", + "text": "The model deployment to use for this agent." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the prompt agent. This will be the agent name in Foundry." + } + ], + "project": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for the parent Microsoft Foundry project resource." + } + ] + }, + "examples": [ { - "kind": "text", - "text": " Claude Opus 4.1 is an industry leader for coding. It delivers sustained performance on long-running tasks that require focused effort and thousands of steps, significantly expanding what AI agents can solve. " + "code": "\n var foundry = builder.AddFoundry(\"aif\");\n var project = foundry.AddProject(\"proj\");\n var chat = project.AddModelDeployment(\"gpt41\", FoundryModel.OpenAI.Gpt41);\n \n var bing = project.AddBingGroundingTool(\"bing\").WithReference(bingConnection);\n var aiSearch = project.AddAISearchTool(\"search\").WithReference(searchResource);\n var codeInterp = project.AddCodeInterpreterTool(\"code-interp\");\n \n project.AddPromptAgent(\"joker-agent\", chat,\n instructions: \"You are good at telling jokes.\")\n .WithTool(bing)\n .WithTool(aiSearch)\n .WithTool(codeInterp);\n ", + "language": "csharp" } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "65-134" }, { - "name": "ClaudeOpus45", - "kind": "field", + "name": "AddSharePointTool", + "kind": "method", "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus45", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddSharePointTool(this IResourceBuilder project, string name, params string[] projectConnectionIds)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, - "isReadOnly": true, + "isExtension": true, + "parameters": [ + { + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "projectConnectionIds", + "type": "string[]", + "modifier": "params" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], "docs": { "summary": [ { "kind": "text", - "text": " Claude Opus 4.5 is Anthropic’s most intelligent model, and an industry leader across coding, agents, computer use, and enterprise workflows. With a 200K token context window and 64K max output, Opus 4.5 is ideal for production code, sophisticated agents, o " + "text": " Adds a SharePoint grounding tool to a Microsoft Foundry project, enabling agents to search data from SharePoint sites configured as Foundry project connections. " } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ClaudeOpus46", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus46", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + ], + "returns": [ { "kind": "text", - "text": " Claude Opus 4.6 is the latest version of Anthropic's most intelligent model, and the world's best model for coding, enterprise agents, and professional work. With a 1M token context window and 128K max output, Opus 4.6 is ideal for production code, sophist " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ClaudeOpus47", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus47", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Claude Opus 4.7 is our most capable generally available model, advancing performance across coding, enterprise workflows, and long-running agentic tasks. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ClaudeOpus48", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus48", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Claude Opus 4.8 is our most intelligent Opus model and the best generally available model for coding and agents, with deeper reasoning for enterprise workflows. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ClaudeOpus5", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus5", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Claude Opus 5 is Anthropic's most advanced Opus model, powering long-running agents while delivering improvements in coding and professional work. It brings near-Fable intelligence to the model teams rely on daily for long-horizon coding and complex agenti " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ClaudeSonnet45", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeSonnet45", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "text": "A reference to the " + }, { - "kind": "text", - "text": " Claude Sonnet 4.5 is Anthropic's most capable model for complex agents and an industry leader for coding and computer use. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ClaudeSonnet46", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeSonnet46", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, { "kind": "text", - "text": " Claude Sonnet 4.6 delivers frontier intelligence at scale—built for coding, agents, and enterprise workflows. With a 1M token context window and 128K max output, Sonnet 4.6 is ideal for coding, agents, office tasks, financial analysis, cybersecurity, and c " + "text": " for the tool resource." } - ] + ], + "parameters": { + "name": [ + { + "kind": "text", + "text": "The name of the tool resource." + } + ], + "project": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for the Microsoft Foundry project." + } + ], + "projectConnectionIds": [ + { + "kind": "text", + "text": "The Foundry project connection IDs for the SharePoint sites." + } + ] + } }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "502-507" }, { - "name": "ClaudeSonnet5", - "kind": "field", + "name": "AddWebSearchTool", + "kind": "method", "accessibility": "public", - "signature": "public static readonly FoundryModel Anthropic.ClaudeSonnet5", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.AddWebSearchTool(this IResourceBuilder project, string name)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Claude Sonnet 5 is Anthropic's most capable Sonnet model yet, built for coding, agents, and professional work at scale. It brings near-Opus intelligence to the model teams run every day, with the same balance of capability, cost, and speed teams already re " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - } - ] - }, - { - "name": "AzureAISearchToolResource", - "fullName": "Aspire.Hosting.Foundry.AzureAISearchToolResource", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", - "docs": { - "summary": [ - { - "kind": "text", - "text": " A Foundry tool resource that grounds an agent's responses using data from an Azure AI Search index. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " After creating this tool with " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.AddAISearchTool(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String,System.String)" - }, - { - "kind": "text", - "text": ", link it to an " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Azure.AzureSearchResource" - }, - { - "kind": "text", - "text": " using " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.WithReference(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureAISearchToolResource},Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Azure.AzureSearchResource})" - }, - { - "kind": "text", - "text": ". The connection identifier is resolved at deploy time when the agent definition is created. " - } - ] - }, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportAttribute" - } - ], - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureAISearchToolResource.cs", - "sourceLines": "22-22", - "members": [ - { - "name": ".ctor", - "kind": "constructor", - "accessibility": "public", - "signature": "public AzureAISearchToolResource.AzureAISearchToolResource(string name, AzureCognitiveServicesProjectResource project)", - "returnType": "void", + "isExtension": true, "parameters": [ + { + "name": "project", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, { "name": "name", "type": "string" - }, + } + ], + "attributes": [ { - "name": "project", - "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Creates a new instance of the " + "text": " Adds a Web Search tool to a Microsoft Foundry project, enabling agents to retrieve real-time information from the public web and return answers with inline citations. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " }, { "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.AzureAISearchToolResource" + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" }, { "kind": "text", - "text": " class. " + "text": " for the tool resource." } ], "parameters": { @@ -4507,621 +4582,821 @@ "project": [ { "kind": "text", - "text": "The parent Foundry project resource." + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for the Microsoft Foundry project." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureAISearchToolResource.cs", - "sourceLines": "32-34" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "225-230" }, { - "name": "ToAgentToolAsync", + "name": "WithCustomTool", "kind": "method", "accessibility": "public", - "signature": "public override Task AzureAISearchToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", - "returnType": "System.Threading.Tasks.Task", - "isOverride": true, + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithCustomTool(this IResourceBuilder builder, IFoundryTool tool)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, "parameters": [ { - "name": "cancellationToken", - "type": "System.Threading.CancellationToken", - "isOptional": true + "name": "builder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "tool", + "type": "Aspire.Hosting.Foundry.IFoundryTool" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "IFoundryTool is not ATS-compatible." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Converts this tool definition into the SDK " + "text": " Adds a custom tool implementation to a prompt agent using the " }, { "kind": "cref", - "value": "T:OpenAI.Responses.ResponseTool" + "value": "T:Aspire.Hosting.Foundry.IFoundryTool" }, { "kind": "text", - "text": " representation. " + "text": " interface. " } ], "remarks": [ { "kind": "text", - "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + "text": " This is an advanced extensibility point for tools that don't fit the standard " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.FoundryToolResource" + }, + { + "kind": "text", + "text": " model. For most scenarios, use the project-level " + }, + { + "kind": "code", + "text": "Add*Tool" + }, + { + "kind": "text", + "text": " methods and pass tool resources to " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.AddPromptAgent(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String,Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.FoundryDeploymentResource},System.String)" + }, + { + "kind": "text", + "text": ". " } ], "returns": [ { "kind": "text", - "text": "The SDK tool representation." + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining." } ], "parameters": { - "cancellationToken": [ + "builder": [ { "kind": "text", - "text": "A cancellation token." + "text": "The prompt agent resource builder." + } + ], + "tool": [ + { + "kind": "text", + "text": "The custom tool implementation." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureAISearchToolResource.cs", - "sourceLines": "57-81" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "682-686" }, { - "name": "IndexName", - "kind": "property", + "name": "WithReference", + "kind": "method", "accessibility": "public", - "signature": "public string? AzureAISearchToolResource.IndexName", - "returnType": "string?", - "isReturnNullable": true, - "hasGet": true, - "hasSet": true, + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithReference(this IResourceBuilder tool, IResourceBuilder search)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, + "parameters": [ + { + "name": "tool", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "search", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], "docs": { "summary": [ { "kind": "text", - "text": " Gets or sets the optional search index name to query. If not set, the tool will use a default or prompt-specified index at runtime. " + "text": " Links an Azure AI Search tool to a backing " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Azure.AzureSearchResource" + }, + { + "kind": "text", + "text": ", creating the necessary Foundry project connection and role assignments. " } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureAISearchToolResource.cs" - }, - { - "name": "SearchResource", - "kind": "property", - "accessibility": "public", - "signature": "public AzureSearchResource? AzureAISearchToolResource.SearchResource", - "returnType": "Aspire.Hosting.Azure.AzureSearchResource?", - "isReturnNullable": true, - "hasGet": true, - "docs": { - "summary": [ + ], + "returns": [ { "kind": "text", - "text": " Gets or sets the Azure AI Search resource backing this tool. Set by " + "text": "A reference to the " }, { "kind": "cref", - "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.WithReference(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureAISearchToolResource},Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Azure.AzureSearchResource})" + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" }, { "kind": "text", - "text": ". " + "text": " for chaining." } - ] + ], + "parameters": { + "search": [ + { + "kind": "text", + "text": "The Azure AI Search resource to use for grounding." + } + ], + "tool": [ + { + "kind": "text", + "text": "The Azure AI Search tool resource builder." + } + ] + } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureAISearchToolResource.cs" - } - ] - }, - { - "name": "AzureCognitiveServicesProjectConnectionResource", - "fullName": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectConnectionResource", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "baseType": "Aspire.Hosting.Foundry.AzureProvisionableAspireResourceWithParent", - "docs": { - "summary": [ - { - "kind": "text", - "text": " The Microsoft Foundry project connection resource scoped to a project. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", - "sourceLines": "13-13", - "members": [ + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "333-350" + }, { - "name": ".ctor", - "kind": "constructor", + "name": "WithReference", + "kind": "method", "accessibility": "public", - "signature": "public AzureCognitiveServicesProjectConnectionResource.AzureCognitiveServicesProjectConnectionResource(string name, Action configureInfrastructure, AzureCognitiveServicesProjectResource parent)", - "returnType": "void", + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithReference(this IResourceBuilder tool, IResourceBuilder bingConnection)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, "parameters": [ { - "name": "name", - "type": "string" + "name": "tool", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" }, { - "name": "configureInfrastructure", - "type": "System.Action" - }, + "name": "bingConnection", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + } + ], + "attributes": [ { - "name": "parent", - "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Covered by the internal AspireUnion overload." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " The Microsoft Foundry project connection resource scoped to a project. " + "text": " Links a Bing Grounding tool to a Foundry project connection for the Bing Search service. " } - ] + ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining." + } + ], + "parameters": { + "bingConnection": [ + { + "kind": "text", + "text": " The Bing grounding connection resource builder created by " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.AzureCognitiveServicesProjectConnectionsBuilderExtensions.AddBingGroundingConnection(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String,System.String)" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.AzureCognitiveServicesProjectConnectionsBuilderExtensions.AddBingGroundingConnection(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String,Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.ApplicationModel.ParameterResource})" + }, + { + "kind": "text", + "text": ". " + } + ], + "tool": [ + { + "kind": "text", + "text": "The Bing Grounding tool resource builder." + } + ] + } }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", - "sourceLines": "14-14" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "395-395" }, { - "name": "FromExisting", + "name": "WithReference", "kind": "method", "accessibility": "public", - "signature": "public override CognitiveServicesProjectConnection AzureCognitiveServicesProjectConnectionResource.FromExisting(string bicepIdentifier)", - "returnType": "Azure.Provisioning.CognitiveServices.CognitiveServicesProjectConnection", - "isOverride": true, + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithReference(this IResourceBuilder tool, string bingResourceId)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, "parameters": [ { - "name": "bicepIdentifier", + "name": "tool", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "bingResourceId", "type": "string" } ], - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the Azure.Provisioning resource from an existing Bicep identifier. Because static methods can't be abstract, this is an instance method. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", - "sourceLines": "21-21" - }, - { - "name": "SetName", - "kind": "method", - "accessibility": "public", - "signature": "public override void AzureCognitiveServicesProjectConnectionResource.SetName(CognitiveServicesProjectConnection provisionableResource, BicepValue name)", - "returnType": "void", - "isOverride": true, - "parameters": [ - { - "name": "provisionableResource", - "type": "Azure.Provisioning.CognitiveServices.CognitiveServicesProjectConnection" - }, + "attributes": [ { - "name": "name", - "type": "Azure.Provisioning.BicepValue" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Covered by the internal AspireUnion overload." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Sets the name of the provisionable resource. This is needed because not all ProvisionableResource classes have a name property with a setter, and we can't put a type bound on T to require it. " + "text": " Links a Bing Grounding tool to a Bing Search resource by using its Azure resource ID. " } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", - "sourceLines": "28-29" - } - ] - }, - { - "name": "AzureCognitiveServicesProjectResource", - "fullName": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "baseType": "Aspire.Hosting.Foundry.AzureProvisionableAspireResourceWithParent", - "interfaces": [ - "Aspire.Hosting.ApplicationModel.IComputeEnvironmentResource", - "Aspire.Hosting.ApplicationModel.IExpressionValue", - "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", - "Aspire.Hosting.ApplicationModel.IResource", - "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", - "Aspire.Hosting.ApplicationModel.IValueProvider", - "Aspire.Hosting.ApplicationModel.IValueWithReferences", - "Aspire.Hosting.Azure.IAzureComputeEnvironmentResource" - ], - "docs": { - "summary": [ - { - "kind": "text", - "text": " The Microsoft Foundry project resource that can be used for Microsoft Foundry AI agents. This also functions as an Aspire compute environment resource for deployment. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "21-21", - "members": [ - { - "name": ".ctor", - "kind": "constructor", - "accessibility": "public", - "signature": "public AzureCognitiveServicesProjectResource.AzureCognitiveServicesProjectResource(string name, Action configureInfrastructure, FoundryResource parent)", - "returnType": "void", - "parameters": [ - { - "name": "name", - "type": "string" - }, - { - "name": "configureInfrastructure", - "type": "System.Action" - }, - { - "name": "parent", - "type": "Aspire.Hosting.Foundry.FoundryResource" - } - ], - "docs": { - "summary": [ + ], + "returns": [ { "kind": "text", - "text": " Creates a new Microsoft Foundry project resource. " + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining." } ], "parameters": { - "configureInfrastructure": [ + "bingResourceId": [ { "kind": "text", - "text": "Configures the underlying Azure resource using Azure.Provisioning." - } - ], - "name": [ + "text": " The full Azure resource ID of the Bing Search resource (e.g., " + }, + { + "kind": "code", + "text": "/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Bing/accounts/{name}" + }, { "kind": "text", - "text": "The name of the resource." + "text": "). " } ], - "parent": [ + "tool": [ { "kind": "text", - "text": "The parent Microsoft Foundry resource." + "text": "The Bing Grounding tool resource builder." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "33-92" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs" }, { - "name": "FromExisting", + "name": "WithReference", "kind": "method", "accessibility": "public", - "signature": "public override CognitiveServicesProject AzureCognitiveServicesProjectResource.FromExisting(string bicepIdentifier)", - "returnType": "Azure.Provisioning.CognitiveServices.CognitiveServicesProject", - "isOverride": true, + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithReference(this IResourceBuilder tool, IResourceBuilder bingResourceId)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, "parameters": [ { - "name": "bicepIdentifier", - "type": "string" + "name": "tool", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" + }, + { + "name": "bingResourceId", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + } + ], + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Covered by the internal AspireUnion overload." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Gets the Azure.Provisioning resource from an existing Bicep identifier. Because static methods can't be abstract, this is an instance method. " + "text": " Links a Bing Grounding tool to a Bing Search resource by using a parameter that contains its Azure resource ID. " } - ] + ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for chaining." + } + ], + "parameters": { + "bingResourceId": [ + { + "kind": "text", + "text": " A parameter resource containing the full Azure resource ID of the Bing Search resource. " + } + ], + "tool": [ + { + "kind": "text", + "text": "The Bing Grounding tool resource builder." + } + ] + } }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "103-103" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs" }, { - "name": "SetName", + "name": "WithTool", "kind": "method", "accessibility": "public", - "signature": "public override void AzureCognitiveServicesProjectResource.SetName(CognitiveServicesProject provisionableResource, BicepValue name)", - "returnType": "void", - "isOverride": true, + "signature": "public static IResourceBuilder PromptAgentBuilderExtensions.WithTool(this IResourceBuilder agent, IResourceBuilder tool)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "isStatic": true, + "isExtension": true, "parameters": [ { - "name": "provisionableResource", - "type": "Azure.Provisioning.CognitiveServices.CognitiveServicesProject" + "name": "agent", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "modifier": "this" }, { - "name": "name", - "type": "Azure.Provisioning.BicepValue" + "name": "tool", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" } ], - "docs": { - "summary": [ - { - "kind": "text", - "text": " Sets the name of the provisionable resource. This is needed because not all ProvisionableResource classes have a name property with a setter, and we can't put a type bound on T to require it. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "97-98" - }, - { - "name": "TryGetAppIdentityResource", - "kind": "method", - "accessibility": "public", - "signature": "public bool AzureCognitiveServicesProjectResource.TryGetAppIdentityResource(out IAppIdentityResource? identity)", - "returnType": "bool", - "parameters": [ + "attributes": [ { - "name": "identity", - "type": "Aspire.Hosting.Azure.IAppIdentityResource?", - "isNullable": true, - "modifier": "out" + "name": "Aspire.Hosting.AspireExportAttribute" } ], "docs": { "summary": [ { "kind": "text", - "text": " Tries to get the application identity resource associated with this project via the " + "text": " Adds a tool to a prompt agent. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A reference to the " }, { "kind": "cref", - "value": "T:Aspire.Hosting.Azure.AppIdentityAnnotation" + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" }, { "kind": "text", - "text": ". This is the identity that will be used by the project to access other Azure resources such as the container registry. " + "text": " for chaining." } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "278-286" - }, + ], + "parameters": { + "agent": [ + { + "kind": "text", + "text": "The prompt agent resource builder." + } + ], + "tool": [ + { + "kind": "text", + "text": "The tool resource to attach to this agent." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/PromptAgentBuilderExtensions.cs", + "sourceLines": "149-155" + } + ] + }, + { + "name": "Anthropic", + "fullName": "Aspire.Hosting.Foundry.FoundryModel.Anthropic", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Models published by Anthropic. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", + "sourceLines": "13-13", + "members": [ { - "name": "AppInsights", - "kind": "property", + "name": "ClaudeFable5", + "kind": "field", "accessibility": "public", - "signature": "public AzureApplicationInsightsResource? AzureCognitiveServicesProjectResource.AppInsights", - "returnType": "Aspire.Hosting.Azure.AzureApplicationInsightsResource?", - "isReturnNullable": true, - "hasGet": true, - "hasSet": true, + "signature": "public static readonly FoundryModel Anthropic.ClaudeFable5", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " The Application Insights resource associated with this project, if any. This will be used as the destination for server-side telemetry from hosted agents and optionally for client-side telemetry if the application decides to use it. " + "text": " Claude Fable 5 is our most intelligent Fable model and the best generally available model for coding and agents, with deeper reasoning for enterprise workflows. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "CapabilityHostConfiguration", - "kind": "property", + "name": "ClaudeFable51", + "kind": "field", "accessibility": "public", - "signature": "public CapabilityHostConfiguration? AzureCognitiveServicesProjectResource.CapabilityHostConfiguration", - "returnType": "Aspire.Hosting.Foundry.CapabilityHostConfiguration?", - "isReturnNullable": true, - "hasGet": true, - "hasSet": true, + "signature": "public static readonly FoundryModel Anthropic.ClaudeFable51", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " The capability host resources associated with this project, if any " + "text": " Claude Fable 5.1 is our most intelligent Fable model and the best generally available model for coding and agents, with deeper reasoning for enterprise workflows. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "ConnectionStringExpression", - "kind": "property", + "name": "ClaudeHaiku45", + "kind": "field", "accessibility": "public", - "signature": "public ReferenceExpression AzureCognitiveServicesProjectResource.ConnectionStringExpression", - "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", - "hasGet": true, + "signature": "public static readonly FoundryModel Anthropic.ClaudeHaiku45", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the .NET-style connection string for the project API endpoint. " + "text": " Claude Haiku 4.5 delivers near-frontier performance for a wide range of use cases, and stands out as one of the best coding and agent models – with the right speed and cost to power free products and scaled sub-agents. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "114-114" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "ContainerRegistry", - "kind": "property", + "name": "ClaudeMythos5", + "kind": "field", "accessibility": "public", - "signature": "public AzureContainerRegistryResource? AzureCognitiveServicesProjectResource.ContainerRegistry", - "returnType": "Aspire.Hosting.Azure.AzureContainerRegistryResource?", - "isReturnNullable": true, - "hasGet": true, + "signature": "public static readonly FoundryModel Anthropic.ClaudeMythos5", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the Azure Container Registry resource used by this project. " + "text": " Claude Mythos 5 (gated) is a new class of intelligence for cybersecurity, coding, and long-running agents. Only available as a gated research preview with access prioritized for defensive cybersecurity use cases " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "161-175" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "Endpoint", - "kind": "property", + "name": "ClaudeMythos51", + "kind": "field", "accessibility": "public", - "signature": "public BicepOutputReference AzureCognitiveServicesProjectResource.Endpoint", - "returnType": "Aspire.Hosting.Azure.BicepOutputReference", - "hasGet": true, + "signature": "public static readonly FoundryModel Anthropic.ClaudeMythos51", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the \"endpoint\" output reference from the Microsoft Foundry project resource. This will be used to instantiate the AI project clients. Will be of the format https:/{accountName}.services.ai.azure.com/api/projects/{projectName}?api-version={apiVersion} " + "text": " Claude Mythos 5.1 (gated) is a new class of intelligence for cybersecurity, coding, and long-running agents. Only available as a gated research preview with access prioritized for defensive cybersecurity use cases " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "132-132" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "Id", - "kind": "property", + "name": "ClaudeMythosPreview", + "kind": "field", "accessibility": "public", - "signature": "public BicepOutputReference AzureCognitiveServicesProjectResource.Id", - "returnType": "Aspire.Hosting.Azure.BicepOutputReference", - "hasGet": true, + "signature": "public static readonly FoundryModel Anthropic.ClaudeMythosPreview", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Azure Resource ID output reference. " + "text": " Claude Mythos Preview (gated research preview) is a new class of intelligence for cybersecurity, coding, and long-running agents. Only available as a gated research preview with access prioritized for defensive cybersecurity use cases " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "109-109" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "KeyVaultConn", - "kind": "property", + "name": "ClaudeOpus45", + "kind": "field", "accessibility": "public", - "signature": "public AzureCognitiveServicesProjectConnectionResource? AzureCognitiveServicesProjectResource.KeyVaultConn", - "returnType": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectConnectionResource?", - "isReturnNullable": true, - "hasGet": true, - "hasSet": true, + "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus45", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Connection to the user-assigned key vault, if any. " + "text": " Claude Opus 4.5 is Anthropic’s most intelligent model, and an industry leader across coding, agents, computer use, and enterprise workflows. With a 200K token context window and 64K max output, Opus 4.5 is ideal for production code, sophisticated agents, o " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "PrincipalId", - "kind": "property", + "name": "ClaudeOpus46", + "kind": "field", "accessibility": "public", - "signature": "public BicepOutputReference AzureCognitiveServicesProjectResource.PrincipalId", - "returnType": "Aspire.Hosting.Azure.BicepOutputReference", - "hasGet": true, + "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus46", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the managed identity principal ID, whether system-assigned or user-assigned. " + "text": " Claude Opus 4.6 is the latest version of Anthropic's most intelligent model, and the world's best model for coding, enterprise agents, and professional work. With a 1M token context window and 128K max output, Opus 4.6 is ideal for production code, sophist " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "145-145" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "UriExpression", - "kind": "property", + "name": "ClaudeOpus47", + "kind": "field", "accessibility": "public", - "signature": "public ReferenceExpression AzureCognitiveServicesProjectResource.UriExpression", - "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", - "hasGet": true, + "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus47", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the Microsoft Foundry project endpoint as a ReferenceExpression that can be used in environment variables or connection strings. This will be used to instantiate the AI project clients. Will be of the format https:/{accountName}.services.ai.azure.com/api/projects/{projectName}?api-version={apiVersion} " + "text": " Claude Opus 4.7 is our most capable generally available model, advancing performance across coding, enterprise workflows, and long-running agentic tasks. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "123-123" - } - ] - }, - { - "name": "AzureFunctionToolResource", - "fullName": "Aspire.Hosting.Foundry.AzureFunctionToolResource", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isSealed": true, - "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", - "docs": { - "summary": [ - { - "kind": "text", - "text": " A Foundry tool resource that enables an agent to invoke an Azure Function. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " Azure Functions tools allow agents to call serverless functions as tools. The function definition includes the function name, parameters schema, and input/output bindings for Azure Storage queues. " - } - ] - }, - "attributes": [ + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, { - "name": "Aspire.Hosting.AspireExportAttribute" - } - ], - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", - "sourceLines": "19-19", - "members": [ + "name": "ClaudeOpus48", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus48", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Claude Opus 4.8 is our most intelligent Opus model and the best generally available model for coding and agents, with deeper reasoning for enterprise workflows. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, { - "name": ".ctor", - "kind": "constructor", + "name": "ClaudeOpus5", + "kind": "field", "accessibility": "public", - "signature": "public AzureFunctionToolResource.AzureFunctionToolResource(string name, AzureCognitiveServicesProjectResource project, string functionName, string description, BinaryData parameters, string inputQueueEndpoint, string inputQueueName, string outputQueueEndpoint, string outputQueueName)", - "returnType": "void", - "parameters": [ - { - "name": "name", - "type": "string" - }, - { - "name": "project", - "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" - }, - { - "name": "functionName", - "type": "string" - }, - { - "name": "description", - "type": "string" - }, - { - "name": "parameters", - "type": "System.BinaryData" - }, - { - "name": "inputQueueEndpoint", - "type": "string" - }, - { - "name": "inputQueueName", - "type": "string" - }, + "signature": "public static readonly FoundryModel Anthropic.ClaudeOpus5", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Claude Opus 5 is Anthropic's most advanced Opus model, powering long-running agents while delivering improvements in coding and professional work. It brings near-Fable intelligence to the model teams rely on daily for long-horizon coding and complex agenti " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "ClaudeSonnet45", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Anthropic.ClaudeSonnet45", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Claude Sonnet 4.5 is Anthropic's most capable model for complex agents and an industry leader for coding and computer use. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "ClaudeSonnet46", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Anthropic.ClaudeSonnet46", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Claude Sonnet 4.6 delivers frontier intelligence at scale—built for coding, agents, and enterprise workflows. With a 1M token context window and 128K max output, Sonnet 4.6 is ideal for coding, agents, office tasks, financial analysis, cybersecurity, and c " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "ClaudeSonnet5", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Anthropic.ClaudeSonnet5", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Claude Sonnet 5 is Anthropic's most capable Sonnet model yet, built for coding, agents, and professional work at scale. It brings near-Opus intelligence to the model teams run every day, with the same balance of capability, cost, and speed teams already re " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + } + ] + }, + { + "name": "AzureAISearchToolResource", + "fullName": "Aspire.Hosting.Foundry.AzureAISearchToolResource", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", + "docs": { + "summary": [ + { + "kind": "text", + "text": " A Foundry tool resource that grounds an agent's responses using data from an Azure AI Search index. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " After creating this tool with " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.AddAISearchTool(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String,System.String)" + }, + { + "kind": "text", + "text": ", link it to an " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Azure.AzureSearchResource" + }, + { + "kind": "text", + "text": " using " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.WithReference(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureAISearchToolResource},Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Azure.AzureSearchResource})" + }, + { + "kind": "text", + "text": ". The connection identifier is resolved at deploy time when the agent definition is created. " + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureAISearchToolResource.cs", + "sourceLines": "22-22", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public AzureAISearchToolResource.AzureAISearchToolResource(string name, AzureCognitiveServicesProjectResource project)", + "returnType": "void", + "parameters": [ { - "name": "outputQueueEndpoint", + "name": "name", "type": "string" }, { - "name": "outputQueueName", - "type": "string" + "name": "project", + "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" } ], "docs": { @@ -5132,7 +5407,7 @@ }, { "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.AzureFunctionToolResource" + "value": "T:Aspire.Hosting.Foundry.AzureAISearchToolResource" }, { "kind": "text", @@ -5140,54 +5415,12 @@ } ], "parameters": { - "description": [ - { - "kind": "text", - "text": "A description of what the function does." - } - ], - "functionName": [ - { - "kind": "text", - "text": "The name of the Azure Function." - } - ], - "inputQueueEndpoint": [ - { - "kind": "text", - "text": "The Azure Storage Queue endpoint for input binding." - } - ], - "inputQueueName": [ - { - "kind": "text", - "text": "The queue name for input binding." - } - ], "name": [ { "kind": "text", "text": "The name of the tool resource." } ], - "outputQueueEndpoint": [ - { - "kind": "text", - "text": "The Azure Storage Queue endpoint for output binding." - } - ], - "outputQueueName": [ - { - "kind": "text", - "text": "The queue name for output binding." - } - ], - "parameters": [ - { - "kind": "text", - "text": "The JSON schema defining the function parameters." - } - ], "project": [ { "kind": "text", @@ -5196,14 +5429,14 @@ ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", - "sourceLines": "43-60" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureAISearchToolResource.cs", + "sourceLines": "32-34" }, { "name": "ToAgentToolAsync", "kind": "method", "accessibility": "public", - "signature": "public override Task AzureFunctionToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "signature": "public override Task AzureAISearchToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", "returnType": "System.Threading.Tasks.Task", "isOverride": true, "parameters": [ @@ -5249,164 +5482,79 @@ ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", - "sourceLines": "100-110" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureAISearchToolResource.cs", + "sourceLines": "57-81" }, { - "name": "Description", + "name": "IndexName", "kind": "property", "accessibility": "public", - "signature": "public string AzureFunctionToolResource.Description", - "returnType": "string", + "signature": "public string? AzureAISearchToolResource.IndexName", + "returnType": "string?", + "isReturnNullable": true, "hasGet": true, + "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the description of the function (used by the agent to decide when to call it). " + "text": " Gets or sets the optional search index name to query. If not set, the tool will use a default or prompt-specified index at runtime. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", - "sourceLines": "70-70" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureAISearchToolResource.cs" }, { - "name": "FunctionName", + "name": "SearchResource", "kind": "property", "accessibility": "public", - "signature": "public string AzureFunctionToolResource.FunctionName", - "returnType": "string", + "signature": "public AzureSearchResource? AzureAISearchToolResource.SearchResource", + "returnType": "Aspire.Hosting.Azure.AzureSearchResource?", + "isReturnNullable": true, "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the name of the Azure Function. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", - "sourceLines": "65-65" - }, - { - "name": "InputQueueEndpoint", - "kind": "property", - "accessibility": "public", - "signature": "public string AzureFunctionToolResource.InputQueueEndpoint", - "returnType": "string", - "hasGet": true, - "docs": { - "summary": [ + "text": " Gets or sets the Azure AI Search resource backing this tool. Set by " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.WithReference(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureAISearchToolResource},Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Azure.AzureSearchResource})" + }, { "kind": "text", - "text": " Gets the Azure Storage Queue endpoint for input binding. " + "text": ". " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", - "sourceLines": "80-80" - }, - { - "name": "InputQueueName", - "kind": "property", - "accessibility": "public", - "signature": "public string AzureFunctionToolResource.InputQueueName", - "returnType": "string", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the queue name for input binding. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", - "sourceLines": "85-85" - }, - { - "name": "OutputQueueEndpoint", - "kind": "property", - "accessibility": "public", - "signature": "public string AzureFunctionToolResource.OutputQueueEndpoint", - "returnType": "string", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the Azure Storage Queue endpoint for output binding. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", - "sourceLines": "90-90" - }, - { - "name": "OutputQueueName", - "kind": "property", - "accessibility": "public", - "signature": "public string AzureFunctionToolResource.OutputQueueName", - "returnType": "string", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the queue name for output binding. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", - "sourceLines": "95-95" - }, - { - "name": "Parameters", - "kind": "property", - "accessibility": "public", - "signature": "public BinaryData AzureFunctionToolResource.Parameters", - "returnType": "System.BinaryData", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the JSON schema defining the function parameters. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", - "sourceLines": "75-75" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureAISearchToolResource.cs" } ] }, { - "name": "AzureHostedAgentResource", - "fullName": "Aspire.Hosting.Foundry.AzureHostedAgentResource", + "name": "AzureCognitiveServicesProjectConnectionResource", + "fullName": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectConnectionResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "baseType": "Aspire.Hosting.ApplicationModel.Resource", - "interfaces": [ - "Aspire.Hosting.ApplicationModel.IResource", - "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment" - ], + "baseType": "Aspire.Hosting.Foundry.AzureProvisionableAspireResourceWithParent", "docs": { "summary": [ { "kind": "text", - "text": " A Microsoft Foundry hosted agent resource. " + "text": " The Microsoft Foundry project connection resource scoped to a project. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "26-26", + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", + "sourceLines": "13-13", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public AzureHostedAgentResource.AzureHostedAgentResource(string name, IResource target, Action? configure = null)", + "signature": "public AzureCognitiveServicesProjectConnectionResource.AzureCognitiveServicesProjectConnectionResource(string name, Action configureInfrastructure, AzureCognitiveServicesProjectResource parent)", "returnType": "void", "parameters": [ { @@ -5414,164 +5562,112 @@ "type": "string" }, { - "name": "target", - "type": "Aspire.Hosting.ApplicationModel.IResource" + "name": "configureInfrastructure", + "type": "System.Action" }, { - "name": "configure", - "type": "System.Action?", - "isNullable": true, - "isOptional": true + "name": "parent", + "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" } ], "docs": { "summary": [ { "kind": "text", - "text": " Creates a new instance of the " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.AzureHostedAgentResource" - }, - { - "kind": "text", - "text": " class. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "37-93" - }, - { - "name": "Configure", - "kind": "property", - "accessibility": "public", - "signature": "public Action? AzureHostedAgentResource.Configure", - "returnType": "System.Action?", - "isReturnNullable": true, - "hasGet": true, - "hasSet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Configuration action to customize the hosted agent definition during deployment. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs" - }, - { - "name": "Image", - "kind": "property", - "accessibility": "public", - "signature": "public ContainerImageReference AzureHostedAgentResource.Image", - "returnType": "Aspire.Hosting.ApplicationModel.ContainerImageReference", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The fully qualified image name for the hosted agent. " + "text": " The Microsoft Foundry project connection resource scoped to a project. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "98-98" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", + "sourceLines": "14-14" }, { - "name": "Target", - "kind": "property", + "name": "FromExisting", + "kind": "method", "accessibility": "public", - "signature": "public IResource AzureHostedAgentResource.Target", - "returnType": "Aspire.Hosting.ApplicationModel.IResource", - "hasGet": true, + "signature": "public override CognitiveServicesProjectConnection AzureCognitiveServicesProjectConnectionResource.FromExisting(string bicepIdentifier)", + "returnType": "Azure.Provisioning.CognitiveServices.CognitiveServicesProjectConnection", + "isOverride": true, + "parameters": [ + { + "name": "bicepIdentifier", + "type": "string" + } + ], "docs": { "summary": [ { "kind": "text", - "text": " The target containerized workload that this hosted agent deploys. " + "text": " Gets the Azure.Provisioning resource from an existing Bicep identifier. Because static methods can't be abstract, this is an instance method. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "103-103" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", + "sourceLines": "21-21" }, { - "name": "Version", - "kind": "property", + "name": "SetName", + "kind": "method", "accessibility": "public", - "signature": "public StaticValueProvider AzureHostedAgentResource.Version", - "returnType": "Aspire.Hosting.Foundry.StaticValueProvider", - "hasGet": true, + "signature": "public override void AzureCognitiveServicesProjectConnectionResource.SetName(CognitiveServicesProjectConnection provisionableResource, BicepValue name)", + "returnType": "void", + "isOverride": true, + "parameters": [ + { + "name": "provisionableResource", + "type": "Azure.Provisioning.CognitiveServices.CognitiveServicesProjectConnection" + }, + { + "name": "name", + "type": "Azure.Provisioning.BicepValue" + } + ], "docs": { "summary": [ { "kind": "text", - "text": " Once deployed, the version that is assigned to this hosted agent. " + "text": " Sets the name of the provisionable resource. This is needed because not all ProvisionableResource classes have a name property with a setter, and we can't put a type bound on T to require it. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "93-93" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", + "sourceLines": "28-29" } ] }, { - "name": "AzurePromptAgentResource", - "fullName": "Aspire.Hosting.Foundry.AzurePromptAgentResource", + "name": "AzureCognitiveServicesProjectResource", + "fullName": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "baseType": "Aspire.Hosting.ApplicationModel.Resource", + "baseType": "Aspire.Hosting.Foundry.AzureProvisionableAspireResourceWithParent", "interfaces": [ + "Aspire.Hosting.ApplicationModel.IComputeEnvironmentResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", - "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", "Aspire.Hosting.ApplicationModel.IValueProvider", - "Aspire.Hosting.ApplicationModel.IValueWithReferences" + "Aspire.Hosting.ApplicationModel.IValueWithReferences", + "Aspire.Hosting.Azure.IAzureComputeEnvironmentResource" ], "docs": { "summary": [ { "kind": "text", - "text": " Represents a Microsoft Foundry prompt agent resource that is provisioned on Azure. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " Unlike hosted agents (which run as containers), prompt agents are configuration-only agents defined by a model, system instructions, and optional tools. They are always deployed to Azure Foundry via the data plane API, even during local development (" - }, - { - "kind": "code", - "text": "aspire run" - }, - { - "kind": "text", - "text": "). Local services communicate with the cloud-provisioned agent using the Foundry project endpoint and agent name. " + "text": " The Microsoft Foundry project resource that can be used for Microsoft Foundry AI agents. This also functions as an Aspire compute environment resource for deployment. " } ] }, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportAttribute", - "arguments": { - "ExposeProperties": "True" - } - } - ], - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", - "sourceLines": "33-33", + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "21-21", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public AzurePromptAgentResource.AzurePromptAgentResource(string name, string model, AzureCognitiveServicesProjectResource project, string? instructions = null)", + "signature": "public AzureCognitiveServicesProjectResource.AzureCognitiveServicesProjectResource(string name, Action configureInfrastructure, FoundryResource parent)", "returnType": "void", "parameters": [ { @@ -5579,107 +5675,155 @@ "type": "string" }, { - "name": "model", - "type": "string" - }, - { - "name": "project", - "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + "name": "configureInfrastructure", + "type": "System.Action" }, { - "name": "instructions", - "type": "string?", - "isNullable": true, - "isOptional": true + "name": "parent", + "type": "Aspire.Hosting.Foundry.FoundryResource" } ], "docs": { "summary": [ { "kind": "text", - "text": " Creates a new instance of the " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.AzurePromptAgentResource" - }, - { - "kind": "text", - "text": " class. " + "text": " Creates a new Microsoft Foundry project resource. " } ], "parameters": { - "instructions": [ + "configureInfrastructure": [ { "kind": "text", - "text": "Optional system instructions for the agent." - } - ], - "model": [ - { - "kind": "text", - "text": "The model deployment name to use for this agent." + "text": "Configures the underlying Azure resource using Azure.Provisioning." } ], "name": [ { "kind": "text", - "text": "The name of the agent. This will also be used as the agent name in Foundry." + "text": "The name of the resource." } ], - "project": [ + "parent": [ { "kind": "text", - "text": "The parent Foundry project resource." + "text": "The parent Microsoft Foundry resource." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", - "sourceLines": "38-136" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "33-92" }, { - "name": "ConnectionStringExpression", - "kind": "property", + "name": "FromExisting", + "kind": "method", "accessibility": "public", - "signature": "public ReferenceExpression AzurePromptAgentResource.ConnectionStringExpression", - "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", - "hasGet": true, + "signature": "public override CognitiveServicesProject AzureCognitiveServicesProjectResource.FromExisting(string bicepIdentifier)", + "returnType": "Azure.Provisioning.CognitiveServices.CognitiveServicesProject", + "isOverride": true, + "parameters": [ + { + "name": "bicepIdentifier", + "type": "string" + } + ], "docs": { "summary": [ { "kind": "text", - "text": " Describes the connection string format string used for this resource. " + "text": " Gets the Azure.Provisioning resource from an existing Bicep identifier. Because static methods can't be abstract, this is an instance method. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", - "sourceLines": "164-164" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "103-103" }, { - "name": "Description", + "name": "SetName", + "kind": "method", + "accessibility": "public", + "signature": "public override void AzureCognitiveServicesProjectResource.SetName(CognitiveServicesProject provisionableResource, BicepValue name)", + "returnType": "void", + "isOverride": true, + "parameters": [ + { + "name": "provisionableResource", + "type": "Azure.Provisioning.CognitiveServices.CognitiveServicesProject" + }, + { + "name": "name", + "type": "Azure.Provisioning.BicepValue" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Sets the name of the provisionable resource. This is needed because not all ProvisionableResource classes have a name property with a setter, and we can't put a type bound on T to require it. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "97-98" + }, + { + "name": "TryGetAppIdentityResource", + "kind": "method", + "accessibility": "public", + "signature": "public bool AzureCognitiveServicesProjectResource.TryGetAppIdentityResource(out IAppIdentityResource? identity)", + "returnType": "bool", + "parameters": [ + { + "name": "identity", + "type": "Aspire.Hosting.Azure.IAppIdentityResource?", + "isNullable": true, + "modifier": "out" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Tries to get the application identity resource associated with this project via the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Azure.AppIdentityAnnotation" + }, + { + "kind": "text", + "text": ". This is the identity that will be used by the project to access other Azure resources such as the container registry. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "278-286" + }, + { + "name": "AppInsights", "kind": "property", "accessibility": "public", - "signature": "public string AzurePromptAgentResource.Description", - "returnType": "string", + "signature": "public AzureApplicationInsightsResource? AzureCognitiveServicesProjectResource.AppInsights", + "returnType": "Aspire.Hosting.Azure.AzureApplicationInsightsResource?", + "isReturnNullable": true, "hasGet": true, "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets or sets a description of the agent. " + "text": " The Application Insights resource associated with this project, if any. This will be used as the destination for server-side telemetry from hosted agents and optionally for client-side telemetry if the application decides to use it. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" }, { - "name": "Instructions", + "name": "CapabilityHostConfiguration", "kind": "property", "accessibility": "public", - "signature": "public string? AzurePromptAgentResource.Instructions", - "returnType": "string?", + "signature": "public CapabilityHostConfiguration? AzureCognitiveServicesProjectResource.CapabilityHostConfiguration", + "returnType": "Aspire.Hosting.Foundry.CapabilityHostConfiguration?", "isReturnNullable": true, "hasGet": true, "hasSet": true, @@ -5687,460 +5831,499 @@ "summary": [ { "kind": "text", - "text": " Gets or sets the system instructions for the agent. " + "text": " The capability host resources associated with this project, if any " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" }, { - "name": "Metadata", + "name": "ConnectionStringExpression", "kind": "property", "accessibility": "public", - "signature": "public IDictionary AzurePromptAgentResource.Metadata", - "returnType": "System.Collections.Generic.IDictionary", + "signature": "public ReferenceExpression AzureCognitiveServicesProjectResource.ConnectionStringExpression", + "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", "hasGet": true, - "hasSet": true, - "isInitOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the metadata to associate with the agent. " + "text": " Gets the .NET-style connection string for the project API endpoint. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "114-114" }, { - "name": "Model", + "name": "ContainerRegistry", "kind": "property", "accessibility": "public", - "signature": "public string AzurePromptAgentResource.Model", - "returnType": "string", + "signature": "public AzureContainerRegistryResource? AzureCognitiveServicesProjectResource.ContainerRegistry", + "returnType": "Aspire.Hosting.Azure.AzureContainerRegistryResource?", + "isReturnNullable": true, "hasGet": true, - "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets or sets the model deployment name used by this agent. " + "text": " Gets the Azure Container Registry resource used by this project. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "161-175" }, { - "name": "Project", + "name": "Endpoint", "kind": "property", "accessibility": "public", - "signature": "public AzureCognitiveServicesProjectResource AzurePromptAgentResource.Project", - "returnType": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource", + "signature": "public BicepOutputReference AzureCognitiveServicesProjectResource.Endpoint", + "returnType": "Aspire.Hosting.Azure.BicepOutputReference", "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the parent Foundry project resource. " + "text": " Gets the \"endpoint\" output reference from the Microsoft Foundry project resource. This will be used to instantiate the AI project clients. Will be of the format https:/{accountName}.services.ai.azure.com/api/projects/{projectName}?api-version={apiVersion} " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", - "sourceLines": "112-112" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "132-132" }, { - "name": "Tools", + "name": "Id", "kind": "property", "accessibility": "public", - "signature": "public IReadOnlyList AzurePromptAgentResource.Tools", - "returnType": "System.Collections.Generic.IReadOnlyList", + "signature": "public BicepOutputReference AzureCognitiveServicesProjectResource.Id", + "returnType": "Aspire.Hosting.Azure.BicepOutputReference", "hasGet": true, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "IFoundryTool is a .NET extensibility point and is not ATS-compatible." + "docs": { + "summary": [ + { + "kind": "text", + "text": " Azure Resource ID output reference. " } - } - ], + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "109-109" + }, + { + "name": "KeyVaultConn", + "kind": "property", + "accessibility": "public", + "signature": "public AzureCognitiveServicesProjectConnectionResource? AzureCognitiveServicesProjectResource.KeyVaultConn", + "returnType": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectConnectionResource?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the list of tool resources attached to this agent. " + "text": " Connection to the user-assigned key vault, if any. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", - "sourceLines": "142-142" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" }, { - "name": "Version", + "name": "PrincipalId", "kind": "property", "accessibility": "public", - "signature": "public StaticValueProvider AzurePromptAgentResource.Version", - "returnType": "Aspire.Hosting.Foundry.StaticValueProvider", + "signature": "public BicepOutputReference AzureCognitiveServicesProjectResource.PrincipalId", + "returnType": "Aspire.Hosting.Azure.BicepOutputReference", "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Once deployed, the version that is assigned to this prompt agent. " + "text": " Gets the managed identity principal ID, whether system-assigned or user-assigned. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", - "sourceLines": "136-136" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "145-145" + }, + { + "name": "UriExpression", + "kind": "property", + "accessibility": "public", + "signature": "public ReferenceExpression AzureCognitiveServicesProjectResource.UriExpression", + "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the Microsoft Foundry project endpoint as a ReferenceExpression that can be used in environment variables or connection strings. This will be used to instantiate the AI project clients. Will be of the format https:/{accountName}.services.ai.azure.com/api/projects/{projectName}?api-version={apiVersion} " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "123-123" } ] }, { - "name": "AzureProvisionableAspireResource", - "fullName": "Aspire.Hosting.Foundry.AzureProvisionableAspireResource", + "name": "AzureFunctionToolResource", + "fullName": "Aspire.Hosting.Foundry.AzureFunctionToolResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "isAbstract": true, - "isGeneric": true, - "genericParameters": [ - { - "name": "T", - "constraints": [ - "Azure.Provisioning.Primitives.ProvisionableResource" - ] - } - ], - "baseType": "Aspire.Hosting.Azure.AzureProvisioningResource", + "isSealed": true, + "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", "docs": { "summary": [ { "kind": "text", - "text": " An Aspire wrapper around an Azure.Provisioning.ProvisionableResource. " + "text": " A Foundry tool resource that enables an agent to invoke an Azure Function. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Azure Functions tools allow agents to call serverless functions as tools. The function definition includes the function name, parameters schema, and input/output bindings for Azure Storage queues. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", - "sourceLines": "14-14", - "members": [ + "attributes": [ { - "name": "AddAsExistingResource", - "kind": "method", + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", + "sourceLines": "19-19", + "members": [ + { + "name": ".ctor", + "kind": "constructor", "accessibility": "public", - "signature": "public override T AzureProvisionableAspireResource.AddAsExistingResource(AzureResourceInfrastructure infra)", - "returnType": "T", - "isOverride": true, + "signature": "public AzureFunctionToolResource.AzureFunctionToolResource(string name, AzureCognitiveServicesProjectResource project, string functionName, string description, BinaryData parameters, string inputQueueEndpoint, string inputQueueName, string outputQueueEndpoint, string outputQueueName)", + "returnType": "void", "parameters": [ { - "name": "infra", - "type": "Aspire.Hosting.Azure.AzureResourceInfrastructure" + "name": "name", + "type": "string" + }, + { + "name": "project", + "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + }, + { + "name": "functionName", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "parameters", + "type": "System.BinaryData" + }, + { + "name": "inputQueueEndpoint", + "type": "string" + }, + { + "name": "inputQueueName", + "type": "string" + }, + { + "name": "outputQueueEndpoint", + "type": "string" + }, + { + "name": "outputQueueName", + "type": "string" } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a new " + "text": " Creates a new instance of the " }, { "kind": "cref", - "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" + "value": "T:Aspire.Hosting.Foundry.AzureFunctionToolResource" }, { "kind": "text", - "text": " into " - }, - { - "kind": "paramref", - "value": "infra" - }, + "text": " class. " + } + ], + "parameters": { + "description": [ + { + "kind": "text", + "text": "A description of what the function does." + } + ], + "functionName": [ + { + "kind": "text", + "text": "The name of the Azure Function." + } + ], + "inputQueueEndpoint": [ + { + "kind": "text", + "text": "The Azure Storage Queue endpoint for input binding." + } + ], + "inputQueueName": [ + { + "kind": "text", + "text": "The queue name for input binding." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the tool resource." + } + ], + "outputQueueEndpoint": [ + { + "kind": "text", + "text": "The Azure Storage Queue endpoint for output binding." + } + ], + "outputQueueName": [ + { + "kind": "text", + "text": "The queue name for output binding." + } + ], + "parameters": [ + { + "kind": "text", + "text": "The JSON schema defining the function parameters." + } + ], + "project": [ + { + "kind": "text", + "text": "The parent Foundry project resource." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", + "sourceLines": "43-60" + }, + { + "name": "ToAgentToolAsync", + "kind": "method", + "accessibility": "public", + "signature": "public override Task AzureFunctionToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", + "isOverride": true, + "parameters": [ + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], + "docs": { + "summary": [ { "kind": "text", - "text": ". The new resource represents a reference to the current " + "text": " Converts this tool definition into the SDK " }, { "kind": "cref", - "value": "T:Aspire.Hosting.Azure.AzureProvisioningResource" + "value": "T:OpenAI.Responses.ResponseTool" }, { "kind": "text", - "text": " via https://learn.microsoft.com/azure/azure-resource-manager/bicep/existing-resource. " + "text": " representation. " } ], - "returns": [ - { - "kind": "text", - "text": "A new " - }, - { - "kind": "cref", - "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" - }, + "remarks": [ { "kind": "text", - "text": ", typically using the FromExisting method on the derived " - }, - { - "kind": "cref", - "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" - }, + "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + } + ], + "returns": [ { "kind": "text", - "text": " class." + "text": "The SDK tool representation." } ], "parameters": { - "infra": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Azure.AzureResourceInfrastructure" - }, + "cancellationToken": [ { "kind": "text", - "text": " to add the existing resource into." + "text": "A cancellation token." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", - "sourceLines": "36-49" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", + "sourceLines": "100-110" }, { - "name": "FromExisting", - "kind": "method", + "name": "Description", + "kind": "property", "accessibility": "public", - "signature": "public abstract T AzureProvisionableAspireResource.FromExisting(string bicepIdentifier)", - "returnType": "T", - "isAbstract": true, - "parameters": [ - { - "name": "bicepIdentifier", - "type": "string" - } - ], + "signature": "public string AzureFunctionToolResource.Description", + "returnType": "string", + "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the Azure.Provisioning resource from an existing Bicep identifier. Because static methods can't be abstract, this is an instance method. " + "text": " Gets the description of the function (used by the agent to decide when to call it). " } ] - } + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", + "sourceLines": "70-70" }, { - "name": "GetProvisionableResource", - "kind": "method", + "name": "FunctionName", + "kind": "property", "accessibility": "public", - "signature": "public static T? AzureProvisionableAspireResource.GetProvisionableResource(AzureResourceInfrastructure infra, string bicepIdentifier)", - "returnType": "T?", - "isReturnNullable": true, - "isStatic": true, - "parameters": [ - { - "name": "infra", - "type": "Aspire.Hosting.Azure.AzureResourceInfrastructure" - }, - { - "name": "bicepIdentifier", - "type": "string" - } - ], + "signature": "public string AzureFunctionToolResource.FunctionName", + "returnType": "string", + "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Get the underlying provisionable resource of type T for the given AzureProvisioningResource. " + "text": " Gets the name of the Azure Function. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", - "sourceLines": "23-25" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", + "sourceLines": "65-65" }, { - "name": "SetName", - "kind": "method", + "name": "InputQueueEndpoint", + "kind": "property", "accessibility": "public", - "signature": "public abstract void AzureProvisionableAspireResource.SetName(T provisionableResource, BicepValue name)", - "returnType": "void", - "isAbstract": true, - "parameters": [ - { - "name": "provisionableResource", - "type": "T" - }, - { - "name": "name", - "type": "Azure.Provisioning.BicepValue" - } - ], + "signature": "public string AzureFunctionToolResource.InputQueueEndpoint", + "returnType": "string", + "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Sets the name of the provisionable resource. This is needed because not all ProvisionableResource classes have a name property with a setter, and we can't put a type bound on T to require it. " + "text": " Gets the Azure Storage Queue endpoint for input binding. " } ] - } - }, + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", + "sourceLines": "80-80" + }, { - "name": "NameOutputReference", + "name": "InputQueueName", "kind": "property", "accessibility": "public", - "signature": "public BicepOutputReference AzureProvisionableAspireResource.NameOutputReference", - "returnType": "Aspire.Hosting.Azure.BicepOutputReference", + "signature": "public string AzureFunctionToolResource.InputQueueName", + "returnType": "string", "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Provide the (usually unique) name of the resource " + "text": " Gets the queue name for input binding. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", - "sourceLines": "31-31" - } - ] - }, - { - "name": "AzureProvisionableAspireResourceExtensions", - "fullName": "Aspire.Hosting.Foundry.AzureProvisionableAspireResourceExtensions", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isStatic": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Extension methods for " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.AzureProvisionableAspireResource`1" - }, - { - "kind": "text", - "text": ". " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", - "sourceLines": "97-97", - "members": [] - }, - { - "name": "AzureProvisionableAspireResourceWithParent", - "fullName": "Aspire.Hosting.Foundry.AzureProvisionableAspireResourceWithParent", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isAbstract": true, - "isGeneric": true, - "genericParameters": [ + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", + "sourceLines": "85-85" + }, { - "name": "T", - "constraints": [ - "Azure.Provisioning.Primitives.ProvisionableResource" - ] + "name": "OutputQueueEndpoint", + "kind": "property", + "accessibility": "public", + "signature": "public string AzureFunctionToolResource.OutputQueueEndpoint", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the Azure Storage Queue endpoint for output binding. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", + "sourceLines": "90-90" }, { - "name": "P", - "constraints": [ - "Aspire.Hosting.Azure.AzureProvisioningResource" - ] - } - ], - "baseType": "Aspire.Hosting.Foundry.AzureProvisionableAspireResource", - "interfaces": [ - "Aspire.Hosting.ApplicationModel.IResource", - "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent

" - ], - "docs": { - "summary": [ - { - "kind": "text", - "text": " An AzureProvisionableAspireResource that also is IResourceWithParent. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", - "sourceLines": "71-71", - "members": [ + "name": "OutputQueueName", + "kind": "property", + "accessibility": "public", + "signature": "public string AzureFunctionToolResource.OutputQueueName", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the queue name for output binding. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", + "sourceLines": "95-95" + }, { - "name": "Parent", + "name": "Parameters", "kind": "property", "accessibility": "public", - "signature": "public P AzureProvisionableAspireResourceWithParent.Parent", - "returnType": "P", + "signature": "public BinaryData AzureFunctionToolResource.Parameters", + "returnType": "System.BinaryData", "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the parent resource. " + "text": " Gets the JSON schema defining the function parameters. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", - "sourceLines": "91-91" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs", + "sourceLines": "75-75" } ] }, { - "name": "BingGroundingConnectionResource", - "fullName": "Aspire.Hosting.Foundry.BingGroundingConnectionResource", + "name": "AzureHostedAgentResource", + "fullName": "Aspire.Hosting.Foundry.AzureHostedAgentResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "baseType": "Aspire.Hosting.Foundry.AzureProvisionableAspireResourceWithParent", + "baseType": "Aspire.Hosting.ApplicationModel.Resource", + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IResource", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment" + ], "docs": { "summary": [ { "kind": "text", - "text": " A Foundry project connection resource specifically for Grounding with Bing Search connections. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This type is used to distinguish Bing grounding connections from other connection types, ensuring that only connections created by " - }, - { - "kind": "code", - "text": "AddBingGroundingConnection" - }, - { - "kind": "text", - "text": " can be linked to a " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.BingGroundingToolResource" - }, - { - "kind": "text", - "text": ". " + "text": " A Microsoft Foundry hosted agent resource. " } ] }, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportAttribute" - } - ], - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", - "sourceLines": "41-41", + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", + "sourceLines": "28-28", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public BingGroundingConnectionResource.BingGroundingConnectionResource(string name, Action configureInfrastructure, AzureCognitiveServicesProjectResource parent)", + "signature": "public AzureHostedAgentResource.AzureHostedAgentResource(string name, IResource target, Action? configure = null)", "returnType": "void", "parameters": [ { @@ -6148,261 +6331,183 @@ "type": "string" }, { - "name": "configureInfrastructure", - "type": "System.Action" + "name": "target", + "type": "Aspire.Hosting.ApplicationModel.IResource" }, { - "name": "parent", - "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + "name": "configure", + "type": "System.Action?", + "isNullable": true, + "isOptional": true } ], "docs": { "summary": [ { "kind": "text", - "text": " A Foundry project connection resource specifically for Grounding with Bing Search connections. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This type is used to distinguish Bing grounding connections from other connection types, ensuring that only connections created by " - }, - { - "kind": "code", - "text": "AddBingGroundingConnection" - }, - { - "kind": "text", - "text": " can be linked to a " + "text": " Creates a new instance of the " }, { "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.BingGroundingToolResource" + "value": "T:Aspire.Hosting.Foundry.AzureHostedAgentResource" }, { "kind": "text", - "text": ". " + "text": " class. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", - "sourceLines": "42-42" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", + "sourceLines": "35-91" }, { - "name": "FromExisting", - "kind": "method", + "name": "Configure", + "kind": "property", "accessibility": "public", - "signature": "public override CognitiveServicesConnection BingGroundingConnectionResource.FromExisting(string bicepIdentifier)", - "returnType": "Azure.Provisioning.CognitiveServices.CognitiveServicesConnection", - "isOverride": true, - "parameters": [ - { - "name": "bicepIdentifier", - "type": "string" - } - ], + "signature": "public Action? AzureHostedAgentResource.Configure", + "returnType": "System.Action?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the Azure.Provisioning resource from an existing Bicep identifier. Because static methods can't be abstract, this is an instance method. " + "text": " Configuration action to customize the hosted agent definition during deployment. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", - "sourceLines": "47-47" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs" }, { - "name": "SetName", - "kind": "method", + "name": "Image", + "kind": "property", "accessibility": "public", - "signature": "public override void BingGroundingConnectionResource.SetName(CognitiveServicesConnection provisionableResource, BicepValue name)", - "returnType": "void", - "isOverride": true, - "parameters": [ - { - "name": "provisionableResource", - "type": "Azure.Provisioning.CognitiveServices.CognitiveServicesConnection" - }, - { - "name": "name", - "type": "Azure.Provisioning.BicepValue" - } - ], + "signature": "public ContainerImageReference AzureHostedAgentResource.Image", + "returnType": "Aspire.Hosting.ApplicationModel.ContainerImageReference", + "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Sets the name of the provisionable resource. This is needed because not all ProvisionableResource classes have a name property with a setter, and we can't put a type bound on T to require it. " + "text": " The fully qualified image name for the hosted agent. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", - "sourceLines": "53-54" - } - ] - }, - { - "name": "BingGroundingToolResource", - "fullName": "Aspire.Hosting.Foundry.BingGroundingToolResource", + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", + "sourceLines": "96-96" + }, + { + "name": "Target", + "kind": "property", + "accessibility": "public", + "signature": "public IResource AzureHostedAgentResource.Target", + "returnType": "Aspire.Hosting.ApplicationModel.IResource", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " The target containerized workload that this hosted agent deploys. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", + "sourceLines": "101-101" + }, + { + "name": "Version", + "kind": "property", + "accessibility": "public", + "signature": "public StaticValueProvider AzureHostedAgentResource.Version", + "returnType": "Aspire.Hosting.Foundry.StaticValueProvider", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Once deployed, the version that is assigned to this hosted agent. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", + "sourceLines": "91-91" + } + ] + }, + { + "name": "AzurePromptAgentResource", + "fullName": "Aspire.Hosting.Foundry.AzurePromptAgentResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", + "baseType": "Aspire.Hosting.ApplicationModel.Resource", + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IExpressionValue", + "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", + "Aspire.Hosting.ApplicationModel.IResource", + "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", + "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", + "Aspire.Hosting.ApplicationModel.IValueProvider", + "Aspire.Hosting.ApplicationModel.IValueWithReferences" + ], "docs": { "summary": [ { "kind": "text", - "text": " A Foundry tool resource that grounds an agent's responses using Bing Search. " + "text": " Represents a Microsoft Foundry prompt agent resource that is provisioned on Azure. " } ], "remarks": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": " The Bing Search resource (" - }, - { - "kind": "code", - "text": "Microsoft.Bing/accounts" - }, - { - "kind": "text", - "text": ") must be created manually in the " - }, - { - "kind": "href", - "text": "Azure portal", - "value": "https://portal.azure.com" - }, - { - "kind": "text", - "text": " before using this tool. " - } - ] + "kind": "text", + "text": " Unlike hosted agents (which run as containers), prompt agents are configuration-only agents defined by a model, system instructions, and optional tools. They are always deployed to Azure Foundry via the data plane API, even during local development (" }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": " After creating the tool with " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.AddBingGroundingTool(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String)" - }, - { - "kind": "text", - "text": ", link it using one of the " - }, - { - "kind": "code", - "text": "WithReference" - }, - { - "kind": "text", - "text": " overloads on " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.PromptAgentBuilderExtensions" - }, - { - "kind": "text", - "text": " with one of the following: " - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "text", - "text": "A " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.BingGroundingConnectionResource" - }, - { - "kind": "text", - "text": " created by " - }, - { - "kind": "cref", - "value": "M:Aspire.Hosting.AzureCognitiveServicesProjectConnectionsBuilderExtensions.AddBingGroundingConnection(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String,System.String)" - }, - { - "kind": "text", - "text": "." - } - ] - }, - { - "description": [ - { - "kind": "text", - "text": "A Bing resource ID string to auto-create a connection." - } - ] - }, - { - "description": [ - { - "kind": "text", - "text": "A " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" - }, - { - "kind": "text", - "text": " for " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.ApplicationModel.ParameterResource" - }, - { - "kind": "text", - "text": " containing the Bing resource ID." - } - ] - } - ] - } - ] + "kind": "code", + "text": "aspire run" + }, + { + "kind": "text", + "text": "). Local services communicate with the cloud-provisioned agent using the Foundry project endpoint and agent name. " } ] }, "attributes": [ { - "name": "Aspire.Hosting.AspireExportAttribute" + "name": "Aspire.Hosting.AspireExportAttribute", + "arguments": { + "ExposeProperties": "True" + } } ], - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BingGroundingToolResource.cs", - "sourceLines": "34-34", + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", + "sourceLines": "33-33", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public BingGroundingToolResource.BingGroundingToolResource(string name, AzureCognitiveServicesProjectResource project)", + "signature": "public AzurePromptAgentResource.AzurePromptAgentResource(string name, string model, AzureCognitiveServicesProjectResource project, string? instructions = null)", "returnType": "void", "parameters": [ { "name": "name", "type": "string" }, + { + "name": "model", + "type": "string" + }, { "name": "project", "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + }, + { + "name": "instructions", + "type": "string?", + "isNullable": true, + "isOptional": true } ], "docs": { @@ -6413,7 +6518,7 @@ }, { "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.BingGroundingToolResource" + "value": "T:Aspire.Hosting.Foundry.AzurePromptAgentResource" }, { "kind": "text", @@ -6421,10 +6526,22 @@ } ], "parameters": { + "instructions": [ + { + "kind": "text", + "text": "Optional system instructions for the agent." + } + ], + "model": [ + { + "kind": "text", + "text": "The model deployment name to use for this agent." + } + ], "name": [ { "kind": "text", - "text": "The name of the tool resource." + "text": "The name of the agent. This will also be used as the agent name in Foundry." } ], "project": [ @@ -6435,557 +6552,496 @@ ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BingGroundingToolResource.cs", - "sourceLines": "44-46" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", + "sourceLines": "38-136" }, { - "name": "ToAgentToolAsync", - "kind": "method", + "name": "ConnectionStringExpression", + "kind": "property", "accessibility": "public", - "signature": "public override Task BingGroundingToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", - "returnType": "System.Threading.Tasks.Task", - "isOverride": true, - "parameters": [ - { - "name": "cancellationToken", - "type": "System.Threading.CancellationToken", - "isOptional": true - } - ], + "signature": "public ReferenceExpression AzurePromptAgentResource.ConnectionStringExpression", + "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", + "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Converts this tool definition into the SDK " - }, - { - "kind": "cref", - "value": "T:OpenAI.Responses.ResponseTool" - }, - { - "kind": "text", - "text": " representation. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + "text": " Describes the connection string format string used for this resource. " } - ], - "returns": [ - { - "kind": "text", - "text": "The SDK tool representation." - } - ], - "parameters": { - "cancellationToken": [ - { - "kind": "text", - "text": "A cancellation token." - } - ] - } + ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BingGroundingToolResource.cs", - "sourceLines": "56-75" - } - ] - }, - { - "name": "BlackForestLabs", - "fullName": "Aspire.Hosting.Foundry.FoundryModel.BlackForestLabs", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isStatic": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Models published by Black Forest Labs. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", - "sourceLines": "97-97", - "members": [ + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", + "sourceLines": "164-164" + }, { - "name": "Flux11Pro", - "kind": "field", + "name": "Description", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel BlackForestLabs.Flux11Pro", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public string AzurePromptAgentResource.Description", + "returnType": "string", + "hasGet": true, + "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Generate images with amazing image quality, prompt adherence, and diversity at blazing fast speeds. FLUX1.1 [pro] delivers six times faster image generation and achieved the highest Elo score on Artificial Analysis benchmarks when launched, surpassing all " + "text": " Gets or sets a description of the agent. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs" }, { - "name": "Flux1KontextPro", - "kind": "field", + "name": "Instructions", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel BlackForestLabs.Flux1KontextPro", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public string? AzurePromptAgentResource.Instructions", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Generate and edit images through both text and image prompts. FLUX.1 Kontext is a multimodal flow matching model that enables both text-to-image generation and in-context image editing. Modify images while maintaining character consistency and performing l " + "text": " Gets or sets the system instructions for the agent. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs" }, { - "name": "Flux2Flex", - "kind": "field", + "name": "Metadata", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel BlackForestLabs.Flux2Flex", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public IDictionary AzurePromptAgentResource.Metadata", + "returnType": "System.Collections.Generic.IDictionary", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Professional text-to-image generation with adjustable inference steps and guidance scale for fine-tuned control. Features superior typography and text rendering, supports up to 4MP resolution, 32K prompt tokens, and up to 8 reference images. Ideal for deve " + "text": " Gets the metadata to associate with the agent. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs" }, { - "name": "Flux2Pro", - "kind": "field", + "name": "Model", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel BlackForestLabs.Flux2Pro", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public string AzurePromptAgentResource.Model", + "returnType": "string", + "hasGet": true, + "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Generate and edit images through both text and image prompts. FLUX.2-pro is a multimodal flow matching model that enables both text-to-image generation and in-context image editing. Modify images while maintaining character consistency and performing local " + "text": " Gets or sets the model deployment name used by this agent. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - } - ] - }, - { - "name": "CapabilityHostBuilder", - "fullName": "Aspire.Hosting.Foundry.CapabilityHostBuilder", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "docs": { - "summary": [ - { - "kind": "text", - "text": " A fluent builder for configuring a capability host on a Microsoft Foundry project. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "354-354", - "members": [ + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs" + }, { - "name": ".ctor", - "kind": "constructor", + "name": "Project", + "kind": "property", "accessibility": "public", - "signature": "public CapabilityHostBuilder.CapabilityHostBuilder(IResourceBuilder projectBuilder, CapabilityHostConfiguration configuration)", - "returnType": "void", - "parameters": [ - { - "name": "projectBuilder", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" - }, - { - "name": "configuration", - "type": "Aspire.Hosting.Foundry.CapabilityHostConfiguration" - } - ], + "signature": "public AzureCognitiveServicesProjectResource AzurePromptAgentResource.Project", + "returnType": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource", + "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " A fluent builder for configuring a capability host on a Microsoft Foundry project. " + "text": " Gets the parent Foundry project resource. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "354-359" + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", + "sourceLines": "112-112" }, { - "name": "WithAzureOpenAI", - "kind": "method", + "name": "Tools", + "kind": "property", "accessibility": "public", - "signature": "public CapabilityHostBuilder CapabilityHostBuilder.WithAzureOpenAI(IResourceBuilder openAI)", - "returnType": "Aspire.Hosting.Foundry.CapabilityHostBuilder", - "parameters": [ + "signature": "public IReadOnlyList AzurePromptAgentResource.Tools", + "returnType": "System.Collections.Generic.IReadOnlyList", + "hasGet": true, + "attributes": [ { - "name": "openAI", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "IFoundryTool is a .NET extensibility point and is not ATS-compatible." + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures an Azure OpenAI-type Microsoft Foundry account for AI model calls. " + "text": " Gets the list of tool resources attached to this agent. " } - ], - "returns": [ + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", + "sourceLines": "142-142" + }, + { + "name": "Version", + "kind": "property", + "accessibility": "public", + "signature": "public StaticValueProvider AzurePromptAgentResource.Version", + "returnType": "Aspire.Hosting.Foundry.StaticValueProvider", + "hasGet": true, + "docs": { + "summary": [ { "kind": "text", - "text": "The capability host builder for chaining." + "text": " Once deployed, the version that is assigned to this prompt agent. " } - ], - "parameters": { - "openAI": [ - { - "kind": "text", - "text": "The Microsoft Foundry resource builder." - } - ] - } + ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "404-406" - }, + "sourceFile": "src/Aspire.Hosting.Foundry/PromptAgent/AzurePromptAgentResource.cs", + "sourceLines": "136-136" + } + ] + }, + { + "name": "AzureProvisionableAspireResource", + "fullName": "Aspire.Hosting.Foundry.AzureProvisionableAspireResource", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isAbstract": true, + "isGeneric": true, + "genericParameters": [ { - "name": "WithCosmosDB", + "name": "T", + "constraints": [ + "Azure.Provisioning.Primitives.ProvisionableResource" + ] + } + ], + "baseType": "Aspire.Hosting.Azure.AzureProvisioningResource", + "docs": { + "summary": [ + { + "kind": "text", + "text": " An Aspire wrapper around an Azure.Provisioning.ProvisionableResource. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", + "sourceLines": "14-14", + "members": [ + { + "name": "AddAsExistingResource", "kind": "method", "accessibility": "public", - "signature": "public CapabilityHostBuilder CapabilityHostBuilder.WithCosmosDB(IResourceBuilder cosmosDb)", - "returnType": "Aspire.Hosting.Foundry.CapabilityHostBuilder", + "signature": "public override T AzureProvisionableAspireResource.AddAsExistingResource(AzureResourceInfrastructure infra)", + "returnType": "T", + "isOverride": true, "parameters": [ { - "name": "cosmosDb", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + "name": "infra", + "type": "Aspire.Hosting.Azure.AzureResourceInfrastructure" } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures the Cosmos DB resource for metadata and conversation state storage. " - } - ], - "returns": [ + "text": " Adds a new " + }, { - "kind": "text", - "text": "The capability host builder for chaining." + "kind": "cref", + "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" + }, + { + "kind": "text", + "text": " into " + }, + { + "kind": "paramref", + "value": "infra" + }, + { + "kind": "text", + "text": ". The new resource represents a reference to the current " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Azure.AzureProvisioningResource" + }, + { + "kind": "text", + "text": " via https://learn.microsoft.com/azure/azure-resource-manager/bicep/existing-resource. " + } + ], + "returns": [ + { + "kind": "text", + "text": "A new " + }, + { + "kind": "cref", + "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" + }, + { + "kind": "text", + "text": ", typically using the FromExisting method on the derived " + }, + { + "kind": "cref", + "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" + }, + { + "kind": "text", + "text": " class." } ], "parameters": { - "cosmosDb": [ + "infra": [ { "kind": "text", - "text": "The Cosmos DB resource builder." + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Azure.AzureResourceInfrastructure" + }, + { + "kind": "text", + "text": " to add the existing resource into." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "368-370" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", + "sourceLines": "36-49" }, { - "name": "WithSearch", + "name": "FromExisting", "kind": "method", "accessibility": "public", - "signature": "public CapabilityHostBuilder CapabilityHostBuilder.WithSearch(IResourceBuilder search)", - "returnType": "Aspire.Hosting.Foundry.CapabilityHostBuilder", + "signature": "public abstract T AzureProvisionableAspireResource.FromExisting(string bicepIdentifier)", + "returnType": "T", + "isAbstract": true, "parameters": [ { - "name": "search", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + "name": "bicepIdentifier", + "type": "string" } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures the Azure Search resource for vector search capabilities. " + "text": " Gets the Azure.Provisioning resource from an existing Bicep identifier. Because static methods can't be abstract, this is an instance method. " } - ], - "returns": [ + ] + } + }, + { + "name": "GetProvisionableResource", + "kind": "method", + "accessibility": "public", + "signature": "public static T? AzureProvisionableAspireResource.GetProvisionableResource(AzureResourceInfrastructure infra, string bicepIdentifier)", + "returnType": "T?", + "isReturnNullable": true, + "isStatic": true, + "parameters": [ + { + "name": "infra", + "type": "Aspire.Hosting.Azure.AzureResourceInfrastructure" + }, + { + "name": "bicepIdentifier", + "type": "string" + } + ], + "docs": { + "summary": [ { "kind": "text", - "text": "The capability host builder for chaining." + "text": " Get the underlying provisionable resource of type T for the given AzureProvisioningResource. " } - ], - "parameters": { - "search": [ - { - "kind": "text", - "text": "The Search resource builder." - } - ] - } + ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "392-394" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", + "sourceLines": "23-25" }, { - "name": "WithStorage", + "name": "SetName", "kind": "method", "accessibility": "public", - "signature": "public CapabilityHostBuilder CapabilityHostBuilder.WithStorage(IResourceBuilder storage)", - "returnType": "Aspire.Hosting.Foundry.CapabilityHostBuilder", + "signature": "public abstract void AzureProvisionableAspireResource.SetName(T provisionableResource, BicepValue name)", + "returnType": "void", + "isAbstract": true, "parameters": [ { - "name": "storage", - "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + "name": "provisionableResource", + "type": "T" + }, + { + "name": "name", + "type": "Azure.Provisioning.BicepValue" } ], "docs": { "summary": [ { "kind": "text", - "text": " Configures the Storage resource for file storage. " - } - ], - "returns": [ - { - "kind": "text", - "text": "The capability host builder for chaining." + "text": " Sets the name of the provisionable resource. This is needed because not all ProvisionableResource classes have a name property with a setter, and we can't put a type bound on T to require it. " } - ], - "parameters": { - "storage": [ - { - "kind": "text", - "text": "The Storage resource builder." - } - ] - } - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "380-382" + ] + } }, { - "name": "ProjectBuilder", + "name": "NameOutputReference", "kind": "property", "accessibility": "public", - "signature": "public IResourceBuilder CapabilityHostBuilder.ProjectBuilder", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public BicepOutputReference AzureProvisionableAspireResource.NameOutputReference", + "returnType": "Aspire.Hosting.Azure.BicepOutputReference", "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the underlying project resource builder. " + "text": " Provide the (usually unique) name of the resource " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "359-359" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", + "sourceLines": "31-31" } ] }, { - "name": "CapabilityHostConfiguration", - "fullName": "Aspire.Hosting.Foundry.CapabilityHostConfiguration", + "name": "AzureProvisionableAspireResourceExtensions", + "fullName": "Aspire.Hosting.Foundry.AzureProvisionableAspireResourceExtensions", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", + "isStatic": true, "docs": { "summary": [ { "kind": "text", - "text": " Configuration for a Microsoft Foundry capability host. " + "text": " Extension methods for " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.AzureProvisionableAspireResource`1" + }, + { + "kind": "text", + "text": ". " } - ], - "parameters": { - "name": [ - { - "kind": "text", - "text": "The name of the capability host." - } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", + "sourceLines": "97-97", + "members": [] + }, + { + "name": "AzureProvisionableAspireResourceWithParent", + "fullName": "Aspire.Hosting.Foundry.AzureProvisionableAspireResourceWithParent", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isAbstract": true, + "isGeneric": true, + "genericParameters": [ + { + "name": "T", + "constraints": [ + "Azure.Provisioning.Primitives.ProvisionableResource" + ] + }, + { + "name": "P", + "constraints": [ + "Aspire.Hosting.Azure.AzureProvisioningResource" ] } + ], + "baseType": "Aspire.Hosting.Foundry.AzureProvisionableAspireResource", + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IResource", + "Aspire.Hosting.ApplicationModel.IResourceWithParent", + "Aspire.Hosting.ApplicationModel.IResourceWithParent

" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " An AzureProvisionableAspireResource that also is IResourceWithParent. " + } + ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "302-302", + "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", + "sourceLines": "71-71", "members": [ { - "name": ".ctor", - "kind": "constructor", + "name": "Parent", + "kind": "property", "accessibility": "public", - "signature": "public CapabilityHostConfiguration.CapabilityHostConfiguration(string name)", - "returnType": "void", - "parameters": [ - { - "name": "name", - "type": "string" - } - ], + "signature": "public P AzureProvisionableAspireResourceWithParent.Parent", + "returnType": "P", + "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Configuration for a Microsoft Foundry capability host. " + "text": " Gets the parent resource. " } - ], - "parameters": { - "name": [ - { - "kind": "text", - "text": "The name of the capability host." - } - ] - } + ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", - "sourceLines": "302-307" - }, - { - "name": "AzureOpenAI", - "kind": "property", - "accessibility": "public", - "signature": "public FoundryResource? CapabilityHostConfiguration.AzureOpenAI", - "returnType": "Aspire.Hosting.Foundry.FoundryResource?", - "isReturnNullable": true, - "hasGet": true, - "hasSet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " An OpenAI-type Microsoft Foundry account to use for AI model calls, if any. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" - }, - { - "name": "CosmosDB", - "kind": "property", - "accessibility": "public", - "signature": "public AzureCosmosDBResource? CapabilityHostConfiguration.CosmosDB", - "returnType": "Aspire.Hosting.AzureCosmosDBResource?", - "isReturnNullable": true, - "hasGet": true, - "hasSet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The Cosmos DB resource to use for metadata and conversation state storage. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" - }, - { - "name": "Kind", - "kind": "property", - "accessibility": "public", - "signature": "public CapabilityHostKind CapabilityHostConfiguration.Kind", - "returnType": "Azure.Provisioning.CognitiveServices.CapabilityHostKind", - "hasGet": true, - "hasSet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The kind of capability host. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" - }, - { - "name": "Name", - "kind": "property", - "accessibility": "public", - "signature": "public string CapabilityHostConfiguration.Name", - "returnType": "string", - "hasGet": true, - "hasSet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The name of the capability host. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" - }, - { - "name": "Search", - "kind": "property", - "accessibility": "public", - "signature": "public AzureSearchResource? CapabilityHostConfiguration.Search", - "returnType": "Aspire.Hosting.Azure.AzureSearchResource?", - "isReturnNullable": true, - "hasGet": true, - "hasSet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The Azure Search resource to use for vector search capabilities. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" - }, - { - "name": "Storage", - "kind": "property", - "accessibility": "public", - "signature": "public AzureStorageResource? CapabilityHostConfiguration.Storage", - "returnType": "Aspire.Hosting.Azure.AzureStorageResource?", - "isReturnNullable": true, - "hasGet": true, - "hasSet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The Storage resource to use for file storage. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/AzureCognitiveServicesBase.cs", + "sourceLines": "91-91" } ] }, { - "name": "CodeInterpreterToolResource", - "fullName": "Aspire.Hosting.Foundry.CodeInterpreterToolResource", + "name": "BingGroundingConnectionResource", + "fullName": "Aspire.Hosting.Foundry.BingGroundingConnectionResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "isSealed": true, - "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", + "baseType": "Aspire.Hosting.Foundry.AzureProvisionableAspireResourceWithParent", "docs": { "summary": [ { "kind": "text", - "text": " A Foundry tool resource that enables an agent to write and run Python code in a sandboxed environment for data analysis, math, and chart generation. " + "text": " A Foundry project connection resource specifically for Grounding with Bing Search connections. " } ], "remarks": [ { "kind": "text", - "text": " This tool requires no Azure provisioning or project connections. It is automatically available in all Foundry projects. " + "text": " This type is used to distinguish Bing grounding connections from other connection types, ensuring that only connections created by " + }, + { + "kind": "code", + "text": "AddBingGroundingConnection" + }, + { + "kind": "text", + "text": " can be linked to a " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.BingGroundingToolResource" + }, + { + "kind": "text", + "text": ". " } ] }, @@ -6994,14 +7050,14 @@ "name": "Aspire.Hosting.AspireExportAttribute" } ], - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "18-18", + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", + "sourceLines": "41-41", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public CodeInterpreterToolResource.CodeInterpreterToolResource(string name, AzureCognitiveServicesProjectResource project)", + "signature": "public BingGroundingConnectionResource.BingGroundingConnectionResource(string name, Action configureInfrastructure, AzureCognitiveServicesProjectResource parent)", "returnType": "void", "parameters": [ { @@ -7009,7 +7065,11 @@ "type": "string" }, { - "name": "project", + "name": "configureInfrastructure", + "type": "System.Action" + }, + { + "name": "parent", "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" } ], @@ -7017,255 +7077,224 @@ "summary": [ { "kind": "text", - "text": " Creates a new instance of the " + "text": " A Foundry project connection resource specifically for Grounding with Bing Search connections. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This type is used to distinguish Bing grounding connections from other connection types, ensuring that only connections created by " + }, + { + "kind": "code", + "text": "AddBingGroundingConnection" + }, + { + "kind": "text", + "text": " can be linked to a " }, { "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.CodeInterpreterToolResource" + "value": "T:Aspire.Hosting.Foundry.BingGroundingToolResource" }, { "kind": "text", - "text": " class. " + "text": ". " } - ], - "parameters": { - "name": [ - { - "kind": "text", - "text": "The name of the tool resource." - } - ], - "project": [ - { - "kind": "text", - "text": "The parent Foundry project resource." - } - ] - } + ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "26-28" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", + "sourceLines": "42-42" }, { - "name": "ToAgentToolAsync", + "name": "FromExisting", "kind": "method", "accessibility": "public", - "signature": "public override Task CodeInterpreterToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", - "returnType": "System.Threading.Tasks.Task", + "signature": "public override CognitiveServicesConnection BingGroundingConnectionResource.FromExisting(string bicepIdentifier)", + "returnType": "Azure.Provisioning.CognitiveServices.CognitiveServicesConnection", "isOverride": true, "parameters": [ { - "name": "cancellationToken", - "type": "System.Threading.CancellationToken", - "isOptional": true + "name": "bicepIdentifier", + "type": "string" } ], "docs": { "summary": [ { "kind": "text", - "text": " Converts this tool definition into the SDK " - }, - { - "kind": "cref", - "value": "T:OpenAI.Responses.ResponseTool" - }, - { - "kind": "text", - "text": " representation. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + "text": " Gets the Azure.Provisioning resource from an existing Bicep identifier. Because static methods can't be abstract, this is an instance method. " } - ], - "returns": [ + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", + "sourceLines": "47-47" + }, + { + "name": "SetName", + "kind": "method", + "accessibility": "public", + "signature": "public override void BingGroundingConnectionResource.SetName(CognitiveServicesConnection provisionableResource, BicepValue name)", + "returnType": "void", + "isOverride": true, + "parameters": [ + { + "name": "provisionableResource", + "type": "Azure.Provisioning.CognitiveServices.CognitiveServicesConnection" + }, + { + "name": "name", + "type": "Azure.Provisioning.BicepValue" + } + ], + "docs": { + "summary": [ { "kind": "text", - "text": "The SDK tool representation." + "text": " Sets the name of the provisionable resource. This is needed because not all ProvisionableResource classes have a name property with a setter, and we can't put a type bound on T to require it. " } - ], - "parameters": { - "cancellationToken": [ - { - "kind": "text", - "text": "A cancellation token." - } - ] - } + ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "33-34" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs", + "sourceLines": "53-54" } ] }, { - "name": "Cohere", - "fullName": "Aspire.Hosting.Foundry.FoundryModel.Cohere", + "name": "BingGroundingToolResource", + "fullName": "Aspire.Hosting.Foundry.BingGroundingToolResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "isStatic": true, + "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", "docs": { "summary": [ { "kind": "text", - "text": " Models published by Cohere. " + "text": " A Foundry tool resource that grounds an agent's responses using Bing Search. " } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", - "sourceLines": "127-127", - "members": [ - { - "name": "CohereCommandA", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Cohere.CohereCommandA", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + ], + "remarks": [ + { + "kind": "para", + "children": [ { "kind": "text", - "text": " Command A is a highly efficient generative model that excels at agentic and multilingual use cases. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "CohereCommandAPlus052026", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Cohere.CohereCommandAPlus052026", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "text": " The Bing Search resource (" + }, + { + "kind": "code", + "text": "Microsoft.Bing/accounts" + }, { "kind": "text", - "text": " Command A is a highly efficient generative model that excels at agentic and multilingual use cases. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "CohereEmbedV3English", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Cohere.CohereEmbedV3English", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "text": ") must be created manually in the " + }, + { + "kind": "href", + "text": "Azure portal", + "value": "https://portal.azure.com" + }, { "kind": "text", - "text": " Cohere Embed English is the market's leading text representation model used for semantic search, retrieval-augmented generation (RAG), classification, and clustering. " + "text": " before using this tool. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "CohereEmbedV3Multilingual", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Cohere.CohereEmbedV3Multilingual", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + { + "kind": "para", + "children": [ { "kind": "text", - "text": " Cohere Embed Multilingual is the market's leading text representation model used for semantic search, retrieval-augmented generation (RAG), classification, and clustering. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "CohereRerankV40Fast", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Cohere.CohereRerankV40Fast", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "text": " After creating the tool with " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.PromptAgentBuilderExtensions.AddBingGroundingTool(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String)" + }, { "kind": "text", - "text": " Rerank improves search systems by sorting documents based on their semantic similarity to a query " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "CohereRerankV40Pro", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Cohere.CohereRerankV40Pro", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "text": ", link it using one of the " + }, + { + "kind": "code", + "text": "WithReference" + }, { "kind": "text", - "text": " Rerank improves search systems by sorting documents based on their semantic similarity to a query " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "EmbedV40", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Cohere.EmbedV40", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "text": " overloads on " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.PromptAgentBuilderExtensions" + }, { "kind": "text", - "text": " Embed 4 transforms texts and images into numerical vectors " + "text": " with one of the following: " + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "text", + "text": "A " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.BingGroundingConnectionResource" + }, + { + "kind": "text", + "text": " created by " + }, + { + "kind": "cref", + "value": "M:Aspire.Hosting.AzureCognitiveServicesProjectConnectionsBuilderExtensions.AddBingGroundingConnection(Aspire.Hosting.ApplicationModel.IResourceBuilder{Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource},System.String,System.String)" + }, + { + "kind": "text", + "text": "." + } + ] + }, + { + "description": [ + { + "kind": "text", + "text": "A Bing resource ID string to auto-create a connection." + } + ] + }, + { + "description": [ + { + "kind": "text", + "text": "A " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.IResourceBuilder`1" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.ApplicationModel.ParameterResource" + }, + { + "kind": "text", + "text": " containing the Bing resource ID." + } + ] + } + ] } ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - } - ] - }, - { - "name": "ComputerToolResource", - "fullName": "Aspire.Hosting.Foundry.ComputerToolResource", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isSealed": true, - "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", - "docs": { - "summary": [ - { - "kind": "text", - "text": " A Foundry tool resource that enables an agent to interact with a computer desktop by taking screenshots, moving the mouse, clicking, and typing. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " The computer tool requires specifying the display dimensions and environment. " } ] }, @@ -7274,14 +7303,14 @@ "name": "Aspire.Hosting.AspireExportAttribute" } ], - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "130-130", + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BingGroundingToolResource.cs", + "sourceLines": "34-34", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public ComputerToolResource.ComputerToolResource(string name, AzureCognitiveServicesProjectResource project, int displayWidth = 1024, int displayHeight = 768, string environment = \"browser\")", + "signature": "public BingGroundingToolResource.BingGroundingToolResource(string name, AzureCognitiveServicesProjectResource project)", "returnType": "void", "parameters": [ { @@ -7291,24 +7320,6 @@ { "name": "project", "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" - }, - { - "name": "displayWidth", - "type": "int", - "isOptional": true, - "defaultValue": "1024" - }, - { - "name": "displayHeight", - "type": "int", - "isOptional": true, - "defaultValue": "768" - }, - { - "name": "environment", - "type": "string", - "isOptional": true, - "defaultValue": "browser" } ], "docs": { @@ -7319,7 +7330,7 @@ }, { "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.ComputerToolResource" + "value": "T:Aspire.Hosting.Foundry.BingGroundingToolResource" }, { "kind": "text", @@ -7327,24 +7338,6 @@ } ], "parameters": { - "displayHeight": [ - { - "kind": "text", - "text": "The height of the display in pixels." - } - ], - "displayWidth": [ - { - "kind": "text", - "text": "The width of the display in pixels." - } - ], - "environment": [ - { - "kind": "text", - "text": "The environment identifier (e.g., \"browser\")." - } - ], "name": [ { "kind": "text", @@ -7359,14 +7352,14 @@ ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "146-151" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BingGroundingToolResource.cs", + "sourceLines": "44-46" }, { "name": "ToAgentToolAsync", "kind": "method", "accessibility": "public", - "signature": "public override Task ComputerToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "signature": "public override Task BingGroundingToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", "returnType": "System.Threading.Tasks.Task", "isOverride": true, "parameters": [ @@ -7412,68 +7405,14 @@ ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "171-172" - }, - { - "name": "DisplayHeight", - "kind": "property", - "accessibility": "public", - "signature": "public int ComputerToolResource.DisplayHeight", - "returnType": "int", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the height of the display in pixels. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "161-161" - }, - { - "name": "DisplayWidth", - "kind": "property", - "accessibility": "public", - "signature": "public int ComputerToolResource.DisplayWidth", - "returnType": "int", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the width of the display in pixels. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "156-156" - }, - { - "name": "Environment", - "kind": "property", - "accessibility": "public", - "signature": "public string ComputerToolResource.Environment", - "returnType": "string", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the environment identifier. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "166-166" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BingGroundingToolResource.cs", + "sourceLines": "56-75" } ] }, { - "name": "DeepSeek", - "fullName": "Aspire.Hosting.Foundry.FoundryModel.DeepSeek", + "name": "BlackForestLabs", + "fullName": "Aspire.Hosting.Foundry.FoundryModel.BlackForestLabs", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", @@ -7482,90 +7421,18 @@ "summary": [ { "kind": "text", - "text": " Models published by DeepSeek. " + "text": " Models published by Black Forest Labs. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", - "sourceLines": "175-175", + "sourceLines": "103-103", "members": [ { - "name": "DeepSeekR1", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel DeepSeek.DeepSeekR1", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " DeepSeek-R1 excels at reasoning tasks using a step-by-step training process, such as language, scientific reasoning, and coding tasks. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "DeepSeekR10528", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel DeepSeek.DeepSeekR10528", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The DeepSeek R1 0528 model has improved reasoning capabilities, this version also offers a reduced hallucination rate, enhanced support for function calling, and better experience for vibe coding. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "DeepSeekV30324", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV30324", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " DeepSeek-V3-0324 demonstrates notable improvements over its predecessor, DeepSeek-V3, in several key aspects, including enhanced reasoning, improved function calling, and superior code generation capabilities. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "DeepSeekV31", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV31", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " DeepSeek-V3.1 is a hybrid model that enhances tool usage, thinking efficiency, and supports both thinking and non-thinking modes via chat template switching " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "DeepSeekV32", + "name": "Flux11Pro", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV32", + "signature": "public static readonly FoundryModel BlackForestLabs.Flux11Pro", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -7573,17 +7440,17 @@ "summary": [ { "kind": "text", - "text": " DeepSeek-V3.2, a model that harmonizes high computational efficiency with superior reasoning and agent performance " + "text": " Generate images with amazing image quality, prompt adherence, and diversity at blazing fast speeds. FLUX1.1 [pro] delivers six times faster image generation and achieved the highest Elo score on Artificial Analysis benchmarks when launched, surpassing all " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "DeepSeekV32Speciale", + "name": "Flux1KontextPro", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV32Speciale", + "signature": "public static readonly FoundryModel BlackForestLabs.Flux1KontextPro", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -7591,17 +7458,17 @@ "summary": [ { "kind": "text", - "text": " DeepSeek-V3.2 Speciale, a model that harmonizes high computational efficiency with superior reasoning and agent performance " + "text": " Generate and edit images through both text and image prompts. FLUX.1 Kontext is a multimodal flow matching model that enables both text-to-image generation and in-context image editing. Modify images while maintaining character consistency and performing l " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "DeepSeekV4Flash", + "name": "Flux2Flex", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV4Flash", + "signature": "public static readonly FoundryModel BlackForestLabs.Flux2Flex", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -7609,17 +7476,17 @@ "summary": [ { "kind": "text", - "text": " DeepSeek V4 is an efficient MoE model family with 1M context and near state-of-the-art open-source reasoning performance. " + "text": " Professional text-to-image generation with adjustable inference steps and guidance scale for fine-tuned control. Features superior typography and text rendering, supports up to 4MP resolution, 32K prompt tokens, and up to 8 reference images. Ideal for deve " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "DeepSeekV4Pro", + "name": "Flux2Pro", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV4Pro", + "signature": "public static readonly FoundryModel BlackForestLabs.Flux2Pro", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -7627,7 +7494,7 @@ "summary": [ { "kind": "text", - "text": " DeepSeek V4 is an efficient MoE model family with 1M context and near state-of-the-art open-source reasoning performance. " + "text": " Generate and edit images through both text and image prompts. FLUX.2-pro is a multimodal flow matching model that enables both text-to-image generation and in-context image editing. Modify images while maintaining character consistency and performing local " } ] }, @@ -7636,533 +7503,334 @@ ] }, { - "name": "FabricToolResource", - "fullName": "Aspire.Hosting.Foundry.FabricToolResource", + "name": "CapabilityHostBuilder", + "fullName": "Aspire.Hosting.Foundry.CapabilityHostBuilder", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "isSealed": true, - "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", "docs": { "summary": [ { "kind": "text", - "text": " A Foundry tool resource that enables an agent to query data using a Microsoft Fabric data agent. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " Fabric connections must be configured in the Foundry project beforehand. This tool references existing connections by their Foundry project connection IDs. " + "text": " A fluent builder for configuring a capability host on a Microsoft Foundry project. " } ] }, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportAttribute" - } - ], - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/ConfigOnlyToolDefinitions.cs", - "sourceLines": "62-62", + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "354-354", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public FabricToolResource.FabricToolResource(string name, AzureCognitiveServicesProjectResource project, params string[] projectConnectionIds)", + "signature": "public CapabilityHostBuilder.CapabilityHostBuilder(IResourceBuilder projectBuilder, CapabilityHostConfiguration configuration)", "returnType": "void", "parameters": [ { - "name": "name", - "type": "string" - }, - { - "name": "project", - "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + "name": "projectBuilder", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" }, { - "name": "projectConnectionIds", - "type": "string[]", - "modifier": "params" + "name": "configuration", + "type": "Aspire.Hosting.Foundry.CapabilityHostConfiguration" } ], "docs": { "summary": [ { "kind": "text", - "text": " Creates a new instance of the " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.FabricToolResource" - }, - { - "kind": "text", - "text": " class. " + "text": " A fluent builder for configuring a capability host on a Microsoft Foundry project. " } - ], - "parameters": { - "name": [ - { - "kind": "text", - "text": "The name of the tool resource." - } - ], - "project": [ - { - "kind": "text", - "text": "The parent Foundry project resource." - } - ], - "projectConnectionIds": [ - { - "kind": "text", - "text": "The Foundry project connection IDs for the Fabric data agents." - } - ] - } + ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/ConfigOnlyToolDefinitions.cs", - "sourceLines": "74-78" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "354-359" }, { - "name": "ToAgentToolAsync", + "name": "WithAzureOpenAI", "kind": "method", "accessibility": "public", - "signature": "public override Task FabricToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", - "returnType": "System.Threading.Tasks.Task", - "isOverride": true, + "signature": "public CapabilityHostBuilder CapabilityHostBuilder.WithAzureOpenAI(IResourceBuilder openAI)", + "returnType": "Aspire.Hosting.Foundry.CapabilityHostBuilder", "parameters": [ { - "name": "cancellationToken", - "type": "System.Threading.CancellationToken", - "isOptional": true + "name": "openAI", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" } ], "docs": { "summary": [ { "kind": "text", - "text": " Converts this tool definition into the SDK " - }, - { - "kind": "cref", - "value": "T:OpenAI.Responses.ResponseTool" - }, - { - "kind": "text", - "text": " representation. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + "text": " Configures an Azure OpenAI-type Microsoft Foundry account for AI model calls. " } ], "returns": [ { "kind": "text", - "text": "The SDK tool representation." + "text": "The capability host builder for chaining." } ], "parameters": { - "cancellationToken": [ + "openAI": [ { "kind": "text", - "text": "A cancellation token." + "text": "The Microsoft Foundry resource builder." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/ConfigOnlyToolDefinitions.cs", - "sourceLines": "88-94" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "404-406" }, { - "name": "ProjectConnectionIds", - "kind": "property", + "name": "WithCosmosDB", + "kind": "method", "accessibility": "public", - "signature": "public IList FabricToolResource.ProjectConnectionIds", - "returnType": "System.Collections.Generic.IList", - "hasGet": true, + "signature": "public CapabilityHostBuilder CapabilityHostBuilder.WithCosmosDB(IResourceBuilder cosmosDb)", + "returnType": "Aspire.Hosting.Foundry.CapabilityHostBuilder", + "parameters": [ + { + "name": "cosmosDb", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" + } + ], "docs": { "summary": [ { "kind": "text", - "text": " Gets the Foundry project connection IDs for the Fabric data agents. " + "text": " Configures the Cosmos DB resource for metadata and conversation state storage. " } - ] + ], + "returns": [ + { + "kind": "text", + "text": "The capability host builder for chaining." + } + ], + "parameters": { + "cosmosDb": [ + { + "kind": "text", + "text": "The Cosmos DB resource builder." + } + ] + } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/ConfigOnlyToolDefinitions.cs", - "sourceLines": "83-83" - } - ] - }, - { - "name": "FileSearchToolResource", - "fullName": "Aspire.Hosting.Foundry.FileSearchToolResource", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isSealed": true, - "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", - "docs": { - "summary": [ - { - "kind": "text", - "text": " A Foundry tool resource that enables an agent to search uploaded files and proprietary documents using vector search. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This tool requires no Azure provisioning or project connections. Vector store IDs can optionally be configured for specific document collections. " - } - ] - }, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportAttribute" - } - ], - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "47-47", - "members": [ + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "368-370" + }, { - "name": ".ctor", - "kind": "constructor", + "name": "WithSearch", + "kind": "method", "accessibility": "public", - "signature": "public FileSearchToolResource.FileSearchToolResource(string name, AzureCognitiveServicesProjectResource project)", - "returnType": "void", + "signature": "public CapabilityHostBuilder CapabilityHostBuilder.WithSearch(IResourceBuilder search)", + "returnType": "Aspire.Hosting.Foundry.CapabilityHostBuilder", "parameters": [ { - "name": "name", - "type": "string" - }, - { - "name": "project", - "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + "name": "search", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" } ], "docs": { "summary": [ { "kind": "text", - "text": " Creates a new instance of the " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.FileSearchToolResource" - }, + "text": " Configures the Azure Search resource for vector search capabilities. " + } + ], + "returns": [ { "kind": "text", - "text": " class. " + "text": "The capability host builder for chaining." } ], "parameters": { - "name": [ - { - "kind": "text", - "text": "The name of the tool resource." - } - ], - "project": [ + "search": [ { "kind": "text", - "text": "The parent Foundry project resource." + "text": "The Search resource builder." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "55-62" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "392-394" }, { - "name": "ToAgentToolAsync", + "name": "WithStorage", "kind": "method", "accessibility": "public", - "signature": "public override Task FileSearchToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", - "returnType": "System.Threading.Tasks.Task", - "isOverride": true, + "signature": "public CapabilityHostBuilder CapabilityHostBuilder.WithStorage(IResourceBuilder storage)", + "returnType": "Aspire.Hosting.Foundry.CapabilityHostBuilder", "parameters": [ { - "name": "cancellationToken", - "type": "System.Threading.CancellationToken", - "isOptional": true + "name": "storage", + "type": "Aspire.Hosting.ApplicationModel.IResourceBuilder" } ], "docs": { "summary": [ { "kind": "text", - "text": " Converts this tool definition into the SDK " - }, - { - "kind": "cref", - "value": "T:OpenAI.Responses.ResponseTool" - }, - { - "kind": "text", - "text": " representation. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + "text": " Configures the Storage resource for file storage. " } ], "returns": [ { "kind": "text", - "text": "The SDK tool representation." + "text": "The capability host builder for chaining." } ], "parameters": { - "cancellationToken": [ + "storage": [ { "kind": "text", - "text": "A cancellation token." + "text": "The Storage resource builder." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "67-67" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "380-382" }, { - "name": "VectorStoreIds", + "name": "ProjectBuilder", "kind": "property", "accessibility": "public", - "signature": "public IList FileSearchToolResource.VectorStoreIds", - "returnType": "System.Collections.Generic.IList", + "signature": "public IResourceBuilder CapabilityHostBuilder.ProjectBuilder", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "hasGet": true, - "hasSet": true, - "isInitOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the vector store IDs to search. If empty, the agent's default stores are used. " + "text": " Gets the underlying project resource builder. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "359-359" } ] }, { - "name": "FoundryDeploymentResource", - "fullName": "Aspire.Hosting.Foundry.FoundryDeploymentResource", + "name": "CapabilityHostConfiguration", + "fullName": "Aspire.Hosting.Foundry.CapabilityHostConfiguration", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "baseType": "Aspire.Hosting.ApplicationModel.Resource", - "interfaces": [ - "Aspire.Hosting.ApplicationModel.IExpressionValue", - "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", - "Aspire.Hosting.ApplicationModel.IResource", - "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", - "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IValueProvider", - "Aspire.Hosting.ApplicationModel.IValueWithReferences" - ], "docs": { "summary": [ { "kind": "text", - "text": " Represents a Microsoft Foundry Deployment. " - } - ] - }, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportAttribute", - "arguments": { - "ExposeProperties": "True" + "text": " Configuration for a Microsoft Foundry capability host. " } + ], + "parameters": { + "name": [ + { + "kind": "text", + "text": "The name of the capability host." + } + ] } - ], - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs", - "sourceLines": "12-12", + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "302-302", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public FoundryDeploymentResource.FoundryDeploymentResource(string name, string modelName, string modelVersion, string format, FoundryResource parent)", + "signature": "public CapabilityHostConfiguration.CapabilityHostConfiguration(string name)", "returnType": "void", "parameters": [ { "name": "name", "type": "string" - }, - { - "name": "modelName", - "type": "string" - }, - { - "name": "modelVersion", - "type": "string" - }, - { - "name": "format", - "type": "string" - }, - { - "name": "parent", - "type": "Aspire.Hosting.Foundry.FoundryResource" } ], "docs": { "summary": [ { "kind": "text", - "text": " Initializes a new instance of the " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.FoundryDeploymentResource" - }, - { - "kind": "text", - "text": " class. " + "text": " Configuration for a Microsoft Foundry capability host. " } ], "parameters": { - "format": [ - { - "kind": "text", - "text": "The format of the model." - } - ], - "modelName": [ - { - "kind": "text", - "text": "The name of the model." - } - ], - "modelVersion": [ - { - "kind": "text", - "text": "The version of the model." - } - ], "name": [ { "kind": "text", - "text": "The name of the deployment." - } - ], - "parent": [ - { - "kind": "text", - "text": "The parent Microsoft Foundry resource." + "text": "The name of the capability host." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs", - "sourceLines": "29-91" - }, - { - "name": "ConnectionStringExpression", - "kind": "property", - "accessibility": "public", - "signature": "public ReferenceExpression FoundryDeploymentResource.ConnectionStringExpression", - "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the connection string expression for the Microsoft Foundry resource with model/deployment information. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs", - "sourceLines": "101-103" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs", + "sourceLines": "302-307" }, { - "name": "DeploymentName", + "name": "AzureOpenAI", "kind": "property", "accessibility": "public", - "signature": "public string FoundryDeploymentResource.DeploymentName", - "returnType": "string", + "signature": "public FoundryResource? CapabilityHostConfiguration.AzureOpenAI", + "returnType": "Aspire.Hosting.Foundry.FoundryResource?", + "isReturnNullable": true, "hasGet": true, "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets or sets the name of the deployment. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This defaults to " - }, - { - "kind": "cref", - "value": "P:Aspire.Hosting.Foundry.FoundryDeploymentResource.ModelName" - }, - { - "kind": "text", - "text": ", but allows for a different deployment name in Azure. When using Foundry Local, this is the model id. " + "text": " An OpenAI-type Microsoft Foundry account to use for AI model calls, if any. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" }, { - "name": "Format", + "name": "CosmosDB", "kind": "property", "accessibility": "public", - "signature": "public string FoundryDeploymentResource.Format", - "returnType": "string", + "signature": "public AzureCosmosDBResource? CapabilityHostConfiguration.CosmosDB", + "returnType": "Aspire.Hosting.AzureCosmosDBResource?", + "isReturnNullable": true, "hasGet": true, "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets or sets the format of deployment model. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " Typical values are \"OpenAI\", \"Microsoft\", \"xAi\", \"Deepseek\". " + "text": " The Cosmos DB resource to use for metadata and conversation state storage. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" }, { - "name": "ModelName", + "name": "Kind", "kind": "property", "accessibility": "public", - "signature": "public string FoundryDeploymentResource.ModelName", - "returnType": "string", + "signature": "public CapabilityHostKind CapabilityHostConfiguration.Kind", + "returnType": "Azure.Provisioning.CognitiveServices.CapabilityHostKind", "hasGet": true, "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets or sets the name of the model. " + "text": " The kind of capability host. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" }, { - "name": "ModelVersion", + "name": "Name", "kind": "property", "accessibility": "public", - "signature": "public string FoundryDeploymentResource.ModelVersion", + "signature": "public string CapabilityHostConfiguration.Name", "returnType": "string", "hasGet": true, "hasSet": true, @@ -8170,257 +7838,87 @@ "summary": [ { "kind": "text", - "text": " Gets or sets the version of the model. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" - }, - { - "name": "Parent", - "kind": "property", - "accessibility": "public", - "signature": "public FoundryResource FoundryDeploymentResource.Parent", - "returnType": "Aspire.Hosting.Foundry.FoundryResource", - "hasGet": true, - "hasSet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the parent Microsoft Foundry resource. " + "text": " The name of the capability host. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" }, { - "name": "SkuCapacity", + "name": "Search", "kind": "property", "accessibility": "public", - "signature": "public int FoundryDeploymentResource.SkuCapacity", - "returnType": "int", + "signature": "public AzureSearchResource? CapabilityHostConfiguration.Search", + "returnType": "Aspire.Hosting.Azure.AzureSearchResource?", + "isReturnNullable": true, "hasGet": true, "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets or sets the capacity of the SKU, in thousands of tokens per minute (TPM). " - } - ], - "remarks": [ - { - "kind": "text", - "text": " For example, a value of 10 means 10,000 tokens per minute. Exceeding this rate limit results in HTTP 429 responses. See " - }, - { - "kind": "href", - "text": "Azure AI quota management", - "value": "https://learn.microsoft.com/azure/ai-foundry/openai/how-to/quota" - }, - { - "kind": "text", - "text": " for more information. " - } - ], - "value": [ - { - "kind": "text", - "text": " The default value is " - }, - { - "kind": "text", - "text": ". " + "text": " The Azure Search resource to use for vector search capabilities. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" }, { - "name": "SkuName", + "name": "Storage", "kind": "property", "accessibility": "public", - "signature": "public string FoundryDeploymentResource.SkuName", - "returnType": "string", + "signature": "public AzureStorageResource? CapabilityHostConfiguration.Storage", + "returnType": "Aspire.Hosting.Azure.AzureStorageResource?", + "isReturnNullable": true, "hasGet": true, "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets or sets the name of the SKU. " - } - ], - "value": [ - { - "kind": "text", - "text": " The default value is " - }, - { - "kind": "text", - "text": ". " + "text": " The Storage resource to use for file storage. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Project/ProjectResource.cs" } ] }, { - "name": "FoundryModel", - "fullName": "Aspire.Hosting.Foundry.FoundryModel", + "name": "CodeInterpreterToolResource", + "fullName": "Aspire.Hosting.Foundry.CodeInterpreterToolResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "nestedTypes": [ - "Aspire.Hosting.Foundry.FoundryModel.Anthropic", - "Aspire.Hosting.Foundry.FoundryModel.BlackForestLabs", - "Aspire.Hosting.Foundry.FoundryModel.Cohere", - "Aspire.Hosting.Foundry.FoundryModel.DeepSeek", - "Aspire.Hosting.Foundry.FoundryModel.Local", - "Aspire.Hosting.Foundry.FoundryModel.Meta", - "Aspire.Hosting.Foundry.FoundryModel.Microsoft", - "Aspire.Hosting.Foundry.FoundryModel.MistralAI", - "Aspire.Hosting.Foundry.FoundryModel.OpenAI", - "Aspire.Hosting.Foundry.FoundryModel.StabilityAI", - "Aspire.Hosting.Foundry.FoundryModel.XAI" - ], + "isSealed": true, + "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", "docs": { "summary": [ { "kind": "text", - "text": " Describes a model that can be deployed to Microsoft Foundry. " + "text": " A Foundry tool resource that enables an agent to write and run Python code in a sandboxed environment for data analysis, math, and chart generation. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This tool requires no Azure provisioning or project connections. It is automatically available in all Foundry projects. " } ] }, "attributes": [ { - "name": "Aspire.Hosting.AspireDtoAttribute" + "name": "Aspire.Hosting.AspireExportAttribute" } ], - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.cs", - "sourceLines": "10-10", + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "18-18", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public FoundryModel.FoundryModel()", - "returnType": "void" - }, - { - "name": "Format", - "kind": "property", - "accessibility": "public", - "signature": "public string FoundryModel.Format", - "returnType": "string", - "hasGet": true, - "hasSet": true, - "isInitOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The format or provider of the model (e.g., OpenAI, Microsoft, xAi, Deepseek). " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.cs" - }, - { - "name": "Name", - "kind": "property", - "accessibility": "public", - "signature": "public string FoundryModel.Name", - "returnType": "string", - "hasGet": true, - "hasSet": true, - "isInitOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The name of the model. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.cs" - }, - { - "name": "Version", - "kind": "property", - "accessibility": "public", - "signature": "public string FoundryModel.Version", - "returnType": "string", - "hasGet": true, - "hasSet": true, - "isInitOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The version of the model. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.cs" - } - ] - }, - { - "name": "FoundryResource", - "fullName": "Aspire.Hosting.Foundry.FoundryResource", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "baseType": "Aspire.Hosting.Azure.AzureProvisioningResource", - "interfaces": [ - "Aspire.Hosting.ApplicationModel.IExpressionValue", - "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", - "Aspire.Hosting.ApplicationModel.IResource", - "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", - "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", - "Aspire.Hosting.ApplicationModel.IValueProvider", - "Aspire.Hosting.ApplicationModel.IValueWithReferences", - "Aspire.Hosting.Azure.IAzureNspAssociationTarget", - "Aspire.Hosting.Azure.IAzurePrivateEndpointTarget" - ], - "docs": { - "summary": [ - { - "kind": "text", - "text": " Represents a Microsoft Foundry resource. This corresponds to the Azure Cognitive Services account with Microsoft Foundry capabilities enabled. " - } - ], - "parameters": { - "configureInfrastructure": [ - { - "kind": "text", - "text": "Configures the underlying Azure resource using Azure.Provisioning." - } - ], - "name": [ - { - "kind": "text", - "text": "The name of the resource." - } - ] - } - }, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportAttribute" - } - ], - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "19-19", - "members": [ - { - "name": ".ctor", - "kind": "constructor", - "accessibility": "public", - "signature": "public FoundryResource.FoundryResource(string name, Action configureInfrastructure)", + "signature": "public CodeInterpreterToolResource.CodeInterpreterToolResource(string name, AzureCognitiveServicesProjectResource project)", "returnType": "void", "parameters": [ { @@ -8428,348 +7926,281 @@ "type": "string" }, { - "name": "configureInfrastructure", - "type": "System.Action" + "name": "project", + "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" } ], "docs": { "summary": [ { "kind": "text", - "text": " Represents a Microsoft Foundry resource. This corresponds to the Azure Cognitive Services account with Microsoft Foundry capabilities enabled. " + "text": " Creates a new instance of the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.CodeInterpreterToolResource" + }, + { + "kind": "text", + "text": " class. " } ], "parameters": { - "configureInfrastructure": [ + "name": [ { "kind": "text", - "text": "Configures the underlying Azure resource using Azure.Provisioning." + "text": "The name of the tool resource." } ], - "name": [ + "project": [ { "kind": "text", - "text": "The name of the resource." + "text": "The parent Foundry project resource." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "20-24" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "26-28" }, { - "name": "AddAsExistingResource", + "name": "ToAgentToolAsync", "kind": "method", "accessibility": "public", - "signature": "public override CognitiveServicesAccount FoundryResource.AddAsExistingResource(AzureResourceInfrastructure infra)", - "returnType": "Azure.Provisioning.CognitiveServices.CognitiveServicesAccount", + "signature": "public override Task CodeInterpreterToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", "isOverride": true, "parameters": [ { - "name": "infra", - "type": "Aspire.Hosting.Azure.AzureResourceInfrastructure" + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a new " + "text": " Converts this tool definition into the SDK " }, { "kind": "cref", - "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" - }, - { - "kind": "text", - "text": " into " - }, - { - "kind": "paramref", - "value": "infra" + "value": "T:OpenAI.Responses.ResponseTool" }, { "kind": "text", - "text": ". The new resource represents a reference to the current " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Azure.AzureProvisioningResource" - }, + "text": " representation. " + } + ], + "remarks": [ { "kind": "text", - "text": " via https://learn.microsoft.com/azure/azure-resource-manager/bicep/existing-resource. " + "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " } ], "returns": [ { "kind": "text", - "text": "A new " - }, - { - "kind": "cref", - "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" - }, - { - "kind": "text", - "text": ", typically using the FromExisting method on the derived " - }, - { - "kind": "cref", - "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" - }, - { - "kind": "text", - "text": " class." + "text": "The SDK tool representation." } ], "parameters": { - "infra": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Azure.AzureResourceInfrastructure" - }, + "cancellationToken": [ { "kind": "text", - "text": " to add the existing resource into." + "text": "A cancellation token." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "93-116" - }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "33-34" + } + ] + }, + { + "name": "Cohere", + "fullName": "Aspire.Hosting.Foundry.FoundryModel.Cohere", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Models published by Cohere. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", + "sourceLines": "133-133", + "members": [ { - "name": "AIFoundryApiEndpoint", - "kind": "property", + "name": "CohereCommandA", + "kind": "field", "accessibility": "public", - "signature": "public BicepOutputReference FoundryResource.AIFoundryApiEndpoint", - "returnType": "Aspire.Hosting.Azure.BicepOutputReference", - "hasGet": true, + "signature": "public static readonly FoundryModel Cohere.CohereCommandA", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the \"aiFoundryApiEndpoint\" output reference from the Microsoft Foundry resource. " + "text": " Command A is a highly efficient generative model that excels at agentic and multilingual use cases. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "29-29" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "ApiKey", - "kind": "property", + "name": "CohereCommandAPlus052026", + "kind": "field", "accessibility": "public", - "signature": "public string? FoundryResource.ApiKey", - "returnType": "string?", - "isReturnNullable": true, - "hasGet": true, + "signature": "public static readonly FoundryModel Cohere.CohereCommandAPlus052026", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " The API key to access Foundry Local. " + "text": " Command A is a highly efficient generative model that excels at agentic and multilingual use cases. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "CapabilityHost", - "kind": "property", + "name": "CohereEmbedV3English", + "kind": "field", "accessibility": "public", - "signature": "public CognitiveServicesCapabilityHost? FoundryResource.CapabilityHost", - "returnType": "Azure.Provisioning.CognitiveServices.CognitiveServicesCapabilityHost?", - "isReturnNullable": true, - "hasGet": true, - "hasSet": true, + "signature": "public static readonly FoundryModel Cohere.CohereEmbedV3English", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " The capability host associated with this project, if any. If none is set, we provision a default capability host for hosted agents. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs" - }, - { - "name": "ConnectionStringExpression", - "kind": "property", - "accessibility": "public", - "signature": "public ReferenceExpression FoundryResource.ConnectionStringExpression", - "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the connection string template for the manifest for the resource. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "64-66" - }, - { - "name": "Deployments", - "kind": "property", - "accessibility": "public", - "signature": "public IReadOnlyList FoundryResource.Deployments", - "returnType": "System.Collections.Generic.IReadOnlyList", - "hasGet": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Gets the list of deployment resources associated with the Microsoft Foundry. " + "text": " Cohere Embed English is the market's leading text representation model used for semantic search, retrieval-augmented generation (RAG), classification, and clustering. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "71-71" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "Endpoint", - "kind": "property", + "name": "CohereEmbedV3Multilingual", + "kind": "field", "accessibility": "public", - "signature": "public BicepOutputReference FoundryResource.Endpoint", - "returnType": "Aspire.Hosting.Azure.BicepOutputReference", - "hasGet": true, + "signature": "public static readonly FoundryModel Cohere.CohereEmbedV3Multilingual", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the \"endpoint\" output reference from the Microsoft Foundry resource. " + "text": " Cohere Embed Multilingual is the market's leading text representation model used for semantic search, retrieval-augmented generation (RAG), classification, and clustering. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "34-34" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "Id", - "kind": "property", + "name": "CohereParseV5", + "kind": "field", "accessibility": "public", - "signature": "public BicepOutputReference FoundryResource.Id", - "returnType": "Aspire.Hosting.Azure.BicepOutputReference", - "hasGet": true, + "signature": "public static readonly FoundryModel Cohere.CohereParseV5", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the \"id\" output reference for the resource. " + "text": " Cohere Parse 5 is a high-performance document vision parser. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "44-44" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "IsEmulator", - "kind": "property", + "name": "CohereRerankV40Fast", + "kind": "field", "accessibility": "public", - "signature": "public bool FoundryResource.IsEmulator", - "returnType": "bool", - "hasGet": true, + "signature": "public static readonly FoundryModel Cohere.CohereRerankV40Fast", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets whether the resource is running in Foundry Local. " + "text": " Rerank improves search systems by sorting documents based on their semantic similarity to a query " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "83-83" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "NameOutputReference", - "kind": "property", + "name": "CohereRerankV40Pro", + "kind": "field", "accessibility": "public", - "signature": "public BicepOutputReference FoundryResource.NameOutputReference", - "returnType": "Aspire.Hosting.Azure.BicepOutputReference", - "hasGet": true, + "signature": "public static readonly FoundryModel Cohere.CohereRerankV40Pro", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the \"name\" output reference for the resource. " + "text": " Rerank improves search systems by sorting documents based on their semantic similarity to a query " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "39-39" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "UriExpression", - "kind": "property", + "name": "EmbedV40", + "kind": "field", "accessibility": "public", - "signature": "public ReferenceExpression FoundryResource.UriExpression", - "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", - "hasGet": true, + "signature": "public static readonly FoundryModel Cohere.EmbedV40", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the connection URI expression for the Microsoft Foundry endpoint. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " In emulator mode, resolves to the emulator service URI. In Azure mode, resolves to the Microsoft Foundry endpoint. " + "text": " Embed 4 transforms texts and images into numerical vectors " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "54-58" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" } ] }, { - "name": "FoundryToolResource", - "fullName": "Aspire.Hosting.Foundry.FoundryToolResource", + "name": "ComputerToolResource", + "fullName": "Aspire.Hosting.Foundry.ComputerToolResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "isAbstract": true, - "baseType": "Aspire.Hosting.ApplicationModel.Resource", - "interfaces": [ - "Aspire.Hosting.Foundry.IFoundryTool" - ], + "isSealed": true, + "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", "docs": { "summary": [ { "kind": "text", - "text": " Base class for Foundry tool resources that participate in the Aspire application model. " + "text": " A Foundry tool resource that enables an agent to interact with a computer desktop by taking screenshots, moving the mouse, clicking, and typing. " } ], "remarks": [ { "kind": "text", - "text": " All Foundry tools are modeled as project-level resources, enabling dashboard visibility, reusability across agents, and consistent lifecycle management. Create tool instances using the " - }, - { - "kind": "code", - "text": "Add*Tool" - }, - { - "kind": "text", - "text": " extension methods on " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" - }, - { - "kind": "text", - "text": ". " + "text": " The computer tool requires specifying the display dimensions and environment. " } ] }, @@ -8778,16 +8209,101 @@ "name": "Aspire.Hosting.AspireExportAttribute" } ], - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FoundryToolResource.cs", - "sourceLines": "18-18", + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "130-130", "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public ComputerToolResource.ComputerToolResource(string name, AzureCognitiveServicesProjectResource project, int displayWidth = 1024, int displayHeight = 768, string environment = \"browser\")", + "returnType": "void", + "parameters": [ + { + "name": "name", + "type": "string" + }, + { + "name": "project", + "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + }, + { + "name": "displayWidth", + "type": "int", + "isOptional": true, + "defaultValue": "1024" + }, + { + "name": "displayHeight", + "type": "int", + "isOptional": true, + "defaultValue": "768" + }, + { + "name": "environment", + "type": "string", + "isOptional": true, + "defaultValue": "browser" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Creates a new instance of the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.ComputerToolResource" + }, + { + "kind": "text", + "text": " class. " + } + ], + "parameters": { + "displayHeight": [ + { + "kind": "text", + "text": "The height of the display in pixels." + } + ], + "displayWidth": [ + { + "kind": "text", + "text": "The width of the display in pixels." + } + ], + "environment": [ + { + "kind": "text", + "text": "The environment identifier (e.g., \"browser\")." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the tool resource." + } + ], + "project": [ + { + "kind": "text", + "text": "The parent Foundry project resource." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "146-151" + }, { "name": "ToAgentToolAsync", "kind": "method", "accessibility": "public", - "signature": "public abstract Task FoundryToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "signature": "public override Task ComputerToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", "returnType": "System.Threading.Tasks.Task", - "isAbstract": true, + "isOverride": true, "parameters": [ { "name": "cancellationToken", @@ -8830,31 +8346,179 @@ } ] } - } + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "171-172" }, { - "name": "Project", + "name": "DisplayHeight", "kind": "property", "accessibility": "public", - "signature": "public AzureCognitiveServicesProjectResource FoundryToolResource.Project", - "returnType": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource", + "signature": "public int ComputerToolResource.DisplayHeight", + "returnType": "int", "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the parent Foundry project resource that this tool is associated with. " + "text": " Gets the height of the display in pixels. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FoundryToolResource.cs", - "sourceLines": "35-35" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "161-161" + }, + { + "name": "DisplayWidth", + "kind": "property", + "accessibility": "public", + "signature": "public int ComputerToolResource.DisplayWidth", + "returnType": "int", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the width of the display in pixels. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "156-156" + }, + { + "name": "Environment", + "kind": "property", + "accessibility": "public", + "signature": "public string ComputerToolResource.Environment", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the environment identifier. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "166-166" } ] }, { - "name": "FunctionToolResource", - "fullName": "Aspire.Hosting.Foundry.FunctionToolResource", + "name": "DeepSeek", + "fullName": "Aspire.Hosting.Foundry.FoundryModel.DeepSeek", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Models published by DeepSeek. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", + "sourceLines": "187-187", + "members": [ + { + "name": "DeepSeekV32", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV32", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " DeepSeek-V3.2, a model that harmonizes high computational efficiency with superior reasoning and agent performance " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "DeepSeekV32Speciale", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV32Speciale", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " DeepSeek-V3.2 Speciale, a model that harmonizes high computational efficiency with superior reasoning and agent performance " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "DeepSeekV4Flash", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV4Flash", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " DeepSeek V4 is an efficient MoE model family with 1M context and near state-of-the-art open-source reasoning performance. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "DeepSeekV4Flash0731", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV4Flash0731", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " DeepSeek-V4-Flash-0731 is the official release of DeepSeek-V4-Flash, superseding the preview version, with substantially enhanced agentic capabilities. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "DeepSeekV4Pro", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel DeepSeek.DeepSeekV4Pro", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " DeepSeek V4 is an efficient MoE model family with 1M context and near state-of-the-art open-source reasoning performance. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + } + ] + }, + { + "name": "FabricToolResource", + "fullName": "Aspire.Hosting.Foundry.FabricToolResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", @@ -8864,13 +8528,13 @@ "summary": [ { "kind": "text", - "text": " A Foundry tool resource that enables an agent to call a user-defined function. " + "text": " A Foundry tool resource that enables an agent to query data using a Microsoft Fabric data agent. " } ], "remarks": [ { "kind": "text", - "text": " Function calling tools allow agents to invoke functions defined by the application. The agent decides when to call the function based on the function name, description, and parameter schema, then returns a structured function call request that the application handles. " + "text": " Fabric connections must be configured in the Foundry project beforehand. This tool references existing connections by their Foundry project connection IDs. " } ] }, @@ -8879,14 +8543,14 @@ "name": "Aspire.Hosting.AspireExportAttribute" } ], - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", - "sourceLines": "19-19", + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/ConfigOnlyToolDefinitions.cs", + "sourceLines": "62-62", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public FunctionToolResource.FunctionToolResource(string name, AzureCognitiveServicesProjectResource project, string functionName, BinaryData parameters, string? description = null, bool? strictModeEnabled = null)", + "signature": "public FabricToolResource.FabricToolResource(string name, AzureCognitiveServicesProjectResource project, params string[] projectConnectionIds)", "returnType": "void", "parameters": [ { @@ -8898,24 +8562,9 @@ "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" }, { - "name": "functionName", - "type": "string" - }, - { - "name": "parameters", - "type": "System.BinaryData" - }, - { - "name": "description", - "type": "string?", - "isNullable": true, - "isOptional": true - }, - { - "name": "strictModeEnabled", - "type": "bool?", - "isNullable": true, - "isOptional": true + "name": "projectConnectionIds", + "type": "string[]", + "modifier": "params" } ], "docs": { @@ -8926,7 +8575,7 @@ }, { "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.FunctionToolResource" + "value": "T:Aspire.Hosting.Foundry.FabricToolResource" }, { "kind": "text", @@ -8934,52 +8583,34 @@ } ], "parameters": { - "description": [ - { - "kind": "text", - "text": "A description of what the function does." - } - ], - "functionName": [ - { - "kind": "text", - "text": "The name of the function." - } - ], "name": [ { "kind": "text", "text": "The name of the tool resource." } ], - "parameters": [ - { - "kind": "text", - "text": "The JSON schema defining the function parameters." - } - ], "project": [ { "kind": "text", "text": "The parent Foundry project resource." } ], - "strictModeEnabled": [ + "projectConnectionIds": [ { "kind": "text", - "text": "Whether to enable strict mode for parameter validation." + "text": "The Foundry project connection IDs for the Fabric data agents." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", - "sourceLines": "37-46" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/ConfigOnlyToolDefinitions.cs", + "sourceLines": "74-78" }, { "name": "ToAgentToolAsync", "kind": "method", "accessibility": "public", - "signature": "public override Task FunctionToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "signature": "public override Task FabricToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", "returnType": "System.Threading.Tasks.Task", "isOverride": true, "parameters": [ @@ -9025,110 +8656,204 @@ ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", - "sourceLines": "71-72" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/ConfigOnlyToolDefinitions.cs", + "sourceLines": "88-94" }, { - "name": "Description", + "name": "ProjectConnectionIds", "kind": "property", "accessibility": "public", - "signature": "public string? FunctionToolResource.Description", - "returnType": "string?", - "isReturnNullable": true, + "signature": "public IList FabricToolResource.ProjectConnectionIds", + "returnType": "System.Collections.Generic.IList", "hasGet": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets the description of the function. " + "text": " Gets the Foundry project connection IDs for the Fabric data agents. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", - "sourceLines": "61-61" - }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/ConfigOnlyToolDefinitions.cs", + "sourceLines": "83-83" + } + ] + }, + { + "name": "FileSearchToolResource", + "fullName": "Aspire.Hosting.Foundry.FileSearchToolResource", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", + "docs": { + "summary": [ + { + "kind": "text", + "text": " A Foundry tool resource that enables an agent to search uploaded files and proprietary documents using vector search. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This tool requires no Azure provisioning or project connections. Vector store IDs can optionally be configured for specific document collections. " + } + ] + }, + "attributes": [ { - "name": "FunctionName", - "kind": "property", - "accessibility": "public", - "signature": "public string FunctionToolResource.FunctionName", - "returnType": "string", - "hasGet": true, + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "47-47", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public FileSearchToolResource.FileSearchToolResource(string name, AzureCognitiveServicesProjectResource project)", + "returnType": "void", + "parameters": [ + { + "name": "name", + "type": "string" + }, + { + "name": "project", + "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + } + ], "docs": { "summary": [ { "kind": "text", - "text": " Gets the name of the function. " + "text": " Creates a new instance of the " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.FileSearchToolResource" + }, + { + "kind": "text", + "text": " class. " } - ] + ], + "parameters": { + "name": [ + { + "kind": "text", + "text": "The name of the tool resource." + } + ], + "project": [ + { + "kind": "text", + "text": "The parent Foundry project resource." + } + ] + } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", - "sourceLines": "51-51" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "55-62" }, { - "name": "Parameters", - "kind": "property", + "name": "ToAgentToolAsync", + "kind": "method", "accessibility": "public", - "signature": "public BinaryData FunctionToolResource.Parameters", - "returnType": "System.BinaryData", - "hasGet": true, + "signature": "public override Task FileSearchToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", + "isOverride": true, + "parameters": [ + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], "docs": { "summary": [ { "kind": "text", - "text": " Gets the JSON schema defining the function parameters. " + "text": " Converts this tool definition into the SDK " + }, + { + "kind": "cref", + "value": "T:OpenAI.Responses.ResponseTool" + }, + { + "kind": "text", + "text": " representation. " } - ] + ], + "remarks": [ + { + "kind": "text", + "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The SDK tool representation." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "A cancellation token." + } + ] + } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", - "sourceLines": "56-56" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "67-67" }, { - "name": "StrictModeEnabled", + "name": "VectorStoreIds", "kind": "property", "accessibility": "public", - "signature": "public bool? FunctionToolResource.StrictModeEnabled", - "returnType": "bool?", - "isReturnNullable": true, + "signature": "public IList FileSearchToolResource.VectorStoreIds", + "returnType": "System.Collections.Generic.IList", "hasGet": true, + "hasSet": true, + "isInitOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Gets whether strict mode is enabled for parameter validation. " + "text": " Gets the vector store IDs to search. If empty, the agent's default stores are used. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", - "sourceLines": "66-66" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs" } ] }, { - "name": "HostedAgentConfiguration", - "fullName": "Aspire.Hosting.Foundry.HostedAgentConfiguration", + "name": "FoundryDeploymentResource", + "fullName": "Aspire.Hosting.Foundry.FoundryDeploymentResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", + "baseType": "Aspire.Hosting.ApplicationModel.Resource", + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IExpressionValue", + "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", + "Aspire.Hosting.ApplicationModel.IResource", + "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", + "Aspire.Hosting.ApplicationModel.IResourceWithParent", + "Aspire.Hosting.ApplicationModel.IResourceWithParent", + "Aspire.Hosting.ApplicationModel.IValueProvider", + "Aspire.Hosting.ApplicationModel.IValueWithReferences" + ], "docs": { "summary": [ { "kind": "text", - "text": " A configuration helper for hosted agents. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This type is used instead of " - }, - { - "kind": "cref", - "value": "T:Azure.AI.Projects.Agents.ProjectsAgentVersionCreationOptions" - }, - { - "kind": "text", - "text": " to provide a strongly typed configuration surface for hosted agent definitions. When used from polyglot AppHosts, only the ATS-compatible properties are exported; Azure SDK-specific members remain .NET-only. " + "text": " Represents a Microsoft Foundry Deployment. " } ] }, @@ -9140,122 +8865,143 @@ } } ], - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs", - "sourceLines": "19-19", + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs", + "sourceLines": "12-12", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public HostedAgentConfiguration.HostedAgentConfiguration(string image)", + "signature": "public FoundryDeploymentResource.FoundryDeploymentResource(string name, string modelName, string modelVersion, string format, FoundryResource parent)", "returnType": "void", "parameters": [ { - "name": "image", + "name": "name", + "type": "string" + }, + { + "name": "modelName", + "type": "string" + }, + { + "name": "modelVersion", + "type": "string" + }, + { + "name": "format", "type": "string" + }, + { + "name": "parent", + "type": "Aspire.Hosting.Foundry.FoundryResource" } ], "docs": { "summary": [ { "kind": "text", - "text": " A configuration helper for hosted agents. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This type is used instead of " + "text": " Initializes a new instance of the " }, { "kind": "cref", - "value": "T:Azure.AI.Projects.Agents.ProjectsAgentVersionCreationOptions" + "value": "T:Aspire.Hosting.Foundry.FoundryDeploymentResource" }, { "kind": "text", - "text": " to provide a strongly typed configuration surface for hosted agent definitions. When used from polyglot AppHosts, only the ATS-compatible properties are exported; Azure SDK-specific members remain .NET-only. " + "text": " class. " } - ] + ], + "parameters": { + "format": [ + { + "kind": "text", + "text": "The format of the model." + } + ], + "modelName": [ + { + "kind": "text", + "text": "The name of the model." + } + ], + "modelVersion": [ + { + "kind": "text", + "text": "The version of the model." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the deployment." + } + ], + "parent": [ + { + "kind": "text", + "text": "The parent Microsoft Foundry resource." + } + ] + } }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs", - "sourceLines": "19-113" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs", + "sourceLines": "29-95" }, { - "name": "ContentFilterConfiguration", + "name": "ConnectionStringExpression", "kind": "property", "accessibility": "public", - "signature": "public ContentFilterConfiguration? HostedAgentConfiguration.ContentFilterConfiguration", - "returnType": "Azure.AI.Projects.Agents.ContentFilterConfiguration?", - "isReturnNullable": true, + "signature": "public ReferenceExpression FoundryDeploymentResource.ConnectionStringExpression", + "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", "hasGet": true, - "hasSet": true, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Azure SDK-specific type not usable from polyglot hosts." - } - } - ], "docs": { "summary": [ { "kind": "text", - "text": " Configuration for Responsible AI (RAI) content filtering and safety features. " + "text": " Gets the connection string expression for the Microsoft Foundry resource with model/deployment information. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs", + "sourceLines": "105-107" }, { - "name": "Cpu", + "name": "DeploymentName", "kind": "property", "accessibility": "public", - "signature": "public decimal HostedAgentConfiguration.Cpu", - "returnType": "decimal", + "signature": "public string FoundryDeploymentResource.DeploymentName", + "returnType": "string", "hasGet": true, "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " CPU allocation for each hosted agent instance, in vCPU cores. " + "text": " Gets or sets the name of the deployment. " } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" - }, - { - "name": "CpuString", - "kind": "property", - "accessibility": "public", - "signature": "public string HostedAgentConfiguration.CpuString", - "returnType": "string", - "hasGet": true, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Derived formatting property used internally by Azure provisioning." - } - } - ], - "docs": { - "summary": [ + ], + "remarks": [ { "kind": "text", - "text": " CPU allocation as a string. " + "text": " This defaults to " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Foundry.FoundryDeploymentResource.ModelName" + }, + { + "kind": "text", + "text": ", but allows for a different deployment name in Azure. When using Foundry Local, this is the model id. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs", - "sourceLines": "79-79" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" }, { - "name": "Description", + "name": "Format", "kind": "property", "accessibility": "public", - "signature": "public string HostedAgentConfiguration.Description", + "signature": "public string FoundryDeploymentResource.Format", "returnType": "string", "hasGet": true, "hasSet": true, @@ -9263,347 +9009,332 @@ "summary": [ { "kind": "text", - "text": " The description of the hosted agent. " + "text": " Gets or sets the format of deployment model. " } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" - }, - { - "name": "EnvironmentVariables", - "kind": "property", - "accessibility": "public", - "signature": "public IDictionary HostedAgentConfiguration.EnvironmentVariables", - "returnType": "System.Collections.Generic.IDictionary", - "hasGet": true, - "hasSet": true, - "isInitOnly": true, - "docs": { - "summary": [ + ], + "remarks": [ { "kind": "text", - "text": " Environment variables to set in the hosted agent container. " + "text": " Typical values are \"OpenAI\", \"Microsoft\", \"xAi\", \"Deepseek\". " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" }, { - "name": "Image", + "name": "LocalModelId", "kind": "property", "accessibility": "public", - "signature": "public string HostedAgentConfiguration.Image", - "returnType": "string", + "signature": "public string? FoundryDeploymentResource.LocalModelId", + "returnType": "string?", + "isReturnNullable": true, "hasGet": true, "hasSet": true, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Image comes from the executable resource and is not configured from polyglot hosted agent callbacks." - } - } - ], "docs": { "summary": [ { "kind": "text", - "text": " The fully qualified container image name for the hosted agent. " + "text": " Gets or sets the model identifier used by Foundry Local. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Aspire resolves this value automatically when it manages Foundry Local. Set it explicitly when connecting to an existing Foundry Local service and " + }, + { + "kind": "cref", + "value": "P:Aspire.Hosting.Foundry.FoundryDeploymentResource.ModelName" + }, + { + "kind": "text", + "text": " is an alias rather than the identifier reported by the service. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" }, { - "name": "Memory", + "name": "ModelName", "kind": "property", "accessibility": "public", - "signature": "public decimal HostedAgentConfiguration.Memory", - "returnType": "decimal", + "signature": "public string FoundryDeploymentResource.ModelName", + "returnType": "string", "hasGet": true, "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Memory allocation for each hosted agent instance, in GiB. Must be 2x the CPU allocation. " + "text": " Gets or sets the name of the model. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" }, { - "name": "MemoryString", + "name": "ModelVersion", "kind": "property", "accessibility": "public", - "signature": "public string HostedAgentConfiguration.MemoryString", + "signature": "public string FoundryDeploymentResource.ModelVersion", "returnType": "string", "hasGet": true, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Derived formatting property used internally by Azure provisioning." - } - } - ], + "hasSet": true, "docs": { "summary": [ { "kind": "text", - "text": " Memory allocation as a string. " + "text": " Gets or sets the version of the model. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs", - "sourceLines": "102-102" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" }, { - "name": "Metadata", + "name": "Parent", "kind": "property", "accessibility": "public", - "signature": "public IDictionary HostedAgentConfiguration.Metadata", - "returnType": "System.Collections.Generic.IDictionary", + "signature": "public FoundryResource FoundryDeploymentResource.Parent", + "returnType": "Aspire.Hosting.Foundry.FoundryResource", "hasGet": true, "hasSet": true, - "isInitOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Additional metadata to associate with the hosted agent. " + "text": " Gets the parent Microsoft Foundry resource. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" }, { - "name": "ProtocolVersions", + "name": "SkuCapacity", "kind": "property", "accessibility": "public", - "signature": "public IList HostedAgentConfiguration.ProtocolVersions", - "returnType": "System.Collections.Generic.IList", + "signature": "public int FoundryDeploymentResource.SkuCapacity", + "returnType": "int", "hasGet": true, "hasSet": true, - "isInitOnly": true, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Azure SDK-specific type not usable from polyglot hosts." - } - } - ], "docs": { "summary": [ { "kind": "text", - "text": " The protocols that the agent supports for ingress communication of the containers. " + "text": " Gets or sets the capacity of the SKU, in thousands of tokens per minute (TPM). " } ], "remarks": [ { "kind": "text", - "text": " This collection has no configuration-level default. The " + "text": " For example, a value of 10 means 10,000 tokens per minute. Exceeding this rate limit results in HTTP 429 responses. See " }, { - "kind": "code", - "text": "AsHostedAgent" + "kind": "href", + "text": "Azure AI quota management", + "value": "https://learn.microsoft.com/azure/ai-foundry/openai/how-to/quota" }, { "kind": "text", - "text": " overloads add the selected protocol version before deployment, and the C# convenience overload defaults that selection to Responses 2.0.0. " + "text": " for more information. " + } + ], + "value": [ + { + "kind": "text", + "text": " The default value is " + }, + { + "kind": "text", + "text": ". " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" }, { - "name": "Tools", + "name": "SkuName", "kind": "property", "accessibility": "public", - "signature": "public IList HostedAgentConfiguration.Tools", - "returnType": "System.Collections.Generic.IList", + "signature": "public string FoundryDeploymentResource.SkuName", + "returnType": "string", "hasGet": true, "hasSet": true, - "isInitOnly": true, - "attributes": [ - { - "name": "Aspire.Hosting.AspireExportIgnoreAttribute", - "arguments": { - "Reason": "Azure SDK-specific type not usable from polyglot hosts." - } - } - ], "docs": { "summary": [ { "kind": "text", - "text": " Tools available to the hosted agent. " + "text": " Gets or sets the name of the SKU. " + } + ], + "value": [ + { + "kind": "text", + "text": " The default value is " + }, + { + "kind": "text", + "text": ". " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryDeploymentResource.cs" } ] }, { - "name": "HostedAgentProtocol", - "fullName": "Aspire.Hosting.Foundry.HostedAgentProtocol", + "name": "FoundryModel", + "fullName": "Aspire.Hosting.Foundry.FoundryModel", "namespace": "Aspire.Hosting.Foundry", - "kind": "enum", + "kind": "class", "accessibility": "public", + "nestedTypes": [ + "Aspire.Hosting.Foundry.FoundryModel.Anthropic", + "Aspire.Hosting.Foundry.FoundryModel.BlackForestLabs", + "Aspire.Hosting.Foundry.FoundryModel.Cohere", + "Aspire.Hosting.Foundry.FoundryModel.DeepSeek", + "Aspire.Hosting.Foundry.FoundryModel.Local", + "Aspire.Hosting.Foundry.FoundryModel.Meta", + "Aspire.Hosting.Foundry.FoundryModel.Microsoft", + "Aspire.Hosting.Foundry.FoundryModel.MistralAI", + "Aspire.Hosting.Foundry.FoundryModel.OpenAI", + "Aspire.Hosting.Foundry.FoundryModel.StabilityAI", + "Aspire.Hosting.Foundry.FoundryModel.XAI" + ], "docs": { "summary": [ { "kind": "text", - "text": " Protocols supported by Microsoft Foundry hosted agent containers. " + "text": " Describes a model that can be deployed to Microsoft Foundry. " } ] }, - "enumMembers": [ - { - "name": "Responses", - "value": 0, - "description": "The hosted agent container exposes the Responses protocol." - }, + "attributes": [ { - "name": "Invocations", - "value": 1, - "description": "The hosted agent container exposes the Invocations protocol." + "name": "Aspire.Hosting.AspireDtoAttribute" } ], - "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgentProtocol.cs", - "members": [] - }, - { - "name": "IFoundryTool", - "fullName": "Aspire.Hosting.Foundry.IFoundryTool", - "namespace": "Aspire.Hosting.Foundry", - "kind": "interface", - "accessibility": "public", - "docs": { - "summary": [ - { - "kind": "text", - "text": " Represents a Foundry tool that can be attached to a prompt agent. " - } - ], - "remarks": [ - { - "kind": "text", - "text": " This interface provides an extensibility point for custom tool implementations that don't fit the standard " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.FoundryToolResource" - }, - { - "kind": "text", - "text": " model. For most scenarios, use the project-level " - }, - { - "kind": "code", - "text": "Add*Tool" - }, - { - "kind": "text", - "text": " methods which return " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.FoundryToolResource" - }, - { - "kind": "text", - "text": " subclasses. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/IFoundryTool.cs", + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.cs", + "sourceLines": "10-10", "members": [ { - "name": "ToAgentToolAsync", - "kind": "method", + "name": ".ctor", + "kind": "constructor", "accessibility": "public", - "signature": "public abstract Task IFoundryTool.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", - "returnType": "System.Threading.Tasks.Task", - "isAbstract": true, - "parameters": [ - { - "name": "cancellationToken", - "type": "System.Threading.CancellationToken", - "isOptional": true - } - ], + "signature": "public FoundryModel.FoundryModel()", + "returnType": "void" + }, + { + "name": "Format", + "kind": "property", + "accessibility": "public", + "signature": "public string FoundryModel.Format", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, "docs": { "summary": [ { "kind": "text", - "text": " Converts this tool definition into the SDK " - }, - { - "kind": "cref", - "value": "T:OpenAI.Responses.ResponseTool" - }, - { - "kind": "text", - "text": " representation. " + "text": " The format or provider of the model (e.g., OpenAI, Microsoft, xAi, Deepseek). " } - ], - "remarks": [ + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.cs" + }, + { + "name": "Name", + "kind": "property", + "accessibility": "public", + "signature": "public string FoundryModel.Name", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ { "kind": "text", - "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + "text": " The name of the model. " } - ], - "returns": [ + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.cs" + }, + { + "name": "Version", + "kind": "property", + "accessibility": "public", + "signature": "public string FoundryModel.Version", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ { "kind": "text", - "text": "The SDK tool representation." + "text": " The version of the model. " } - ], - "parameters": { - "cancellationToken": [ - { - "kind": "text", - "text": "A cancellation token." - } - ] - } - } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.cs" } ] }, { - "name": "ImageGenerationToolResource", - "fullName": "Aspire.Hosting.Foundry.ImageGenerationToolResource", + "name": "FoundryResource", + "fullName": "Aspire.Hosting.Foundry.FoundryResource", "namespace": "Aspire.Hosting.Foundry", "kind": "class", "accessibility": "public", - "isSealed": true, - "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", + "baseType": "Aspire.Hosting.Azure.AzureProvisioningResource", + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IExpressionValue", + "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", + "Aspire.Hosting.ApplicationModel.IResource", + "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", + "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", + "Aspire.Hosting.ApplicationModel.IValueProvider", + "Aspire.Hosting.ApplicationModel.IValueWithReferences", + "Aspire.Hosting.Azure.IAzureNspAssociationTarget", + "Aspire.Hosting.Azure.IAzurePrivateEndpointTarget" + ], "docs": { "summary": [ { "kind": "text", - "text": " A Foundry tool resource that enables an agent to generate and edit images. " + "text": " Represents a Microsoft Foundry resource. This corresponds to the Azure Cognitive Services account with Microsoft Foundry capabilities enabled. " } - ] + ], + "parameters": { + "configureInfrastructure": [ + { + "kind": "text", + "text": "Configures the underlying Azure resource using Azure.Provisioning." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the resource." + } + ] + } }, "attributes": [ { "name": "Aspire.Hosting.AspireExportAttribute" } ], - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "103-103", + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "19-19", "members": [ { "name": ".ctor", "kind": "constructor", "accessibility": "public", - "signature": "public ImageGenerationToolResource.ImageGenerationToolResource(string name, AzureCognitiveServicesProjectResource project)", + "signature": "public FoundryResource.FoundryResource(string name, Action configureInfrastructure)", "returnType": "void", "parameters": [ { @@ -9611,2734 +9342,1868 @@ "type": "string" }, { - "name": "project", - "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + "name": "configureInfrastructure", + "type": "System.Action" } ], "docs": { "summary": [ { "kind": "text", - "text": " Creates a new instance of the " - }, - { - "kind": "cref", - "value": "T:Aspire.Hosting.Foundry.ImageGenerationToolResource" - }, - { - "kind": "text", - "text": " class. " + "text": " Represents a Microsoft Foundry resource. This corresponds to the Azure Cognitive Services account with Microsoft Foundry capabilities enabled. " } ], "parameters": { - "name": [ + "configureInfrastructure": [ { "kind": "text", - "text": "The name of the tool resource." + "text": "Configures the underlying Azure resource using Azure.Provisioning." } ], - "project": [ + "name": [ { "kind": "text", - "text": "The parent Foundry project resource." + "text": "The name of the resource." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "111-113" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "20-28" }, { - "name": "ToAgentToolAsync", + "name": "AddAsExistingResource", "kind": "method", "accessibility": "public", - "signature": "public override Task ImageGenerationToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", - "returnType": "System.Threading.Tasks.Task", + "signature": "public override CognitiveServicesAccount FoundryResource.AddAsExistingResource(AzureResourceInfrastructure infra)", + "returnType": "Azure.Provisioning.CognitiveServices.CognitiveServicesAccount", "isOverride": true, "parameters": [ { - "name": "cancellationToken", - "type": "System.Threading.CancellationToken", - "isOptional": true + "name": "infra", + "type": "Aspire.Hosting.Azure.AzureResourceInfrastructure" } ], "docs": { "summary": [ { "kind": "text", - "text": " Converts this tool definition into the SDK " + "text": " Adds a new " }, { "kind": "cref", - "value": "T:OpenAI.Responses.ResponseTool" + "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" }, { "kind": "text", - "text": " representation. " - } - ], - "remarks": [ + "text": " into " + }, + { + "kind": "paramref", + "value": "infra" + }, { "kind": "text", - "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + "text": ". The new resource represents a reference to the current " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Azure.AzureProvisioningResource" + }, + { + "kind": "text", + "text": " via https://learn.microsoft.com/azure/azure-resource-manager/bicep/existing-resource. " } ], "returns": [ { "kind": "text", - "text": "The SDK tool representation." + "text": "A new " + }, + { + "kind": "cref", + "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" + }, + { + "kind": "text", + "text": ", typically using the FromExisting method on the derived " + }, + { + "kind": "cref", + "value": "T:Azure.Provisioning.Primitives.ProvisionableResource" + }, + { + "kind": "text", + "text": " class." } ], "parameters": { - "cancellationToken": [ + "infra": [ { "kind": "text", - "text": "A cancellation token." + "text": "The " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Azure.AzureResourceInfrastructure" + }, + { + "kind": "text", + "text": " to add the existing resource into." } ] } }, - "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", - "sourceLines": "118-118" - } - ] - }, - { - "name": "Local", - "fullName": "Aspire.Hosting.Foundry.FoundryModel.Local", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isStatic": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Models available on Foundry Local. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs", - "sourceLines": "13-13", - "members": [ + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "97-120" + }, { - "name": "DeepseekR114b", - "kind": "field", + "name": "AIFoundryApiEndpoint", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.DeepseekR114b", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public BicepOutputReference FoundryResource.AIFoundryApiEndpoint", + "returnType": "Aspire.Hosting.Azure.BicepOutputReference", + "hasGet": true, "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of DeepSeek-R1-Distill-Qwen-14B to enable local inference on Intel GPUs." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the DeepSeek-R1-Distill-Qwen-14B for local inference on Intel GPUs." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, + "kind": "text", + "text": " Gets the \"aiFoundryApiEndpoint\" output reference from the Microsoft Foundry resource. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "33-33" + }, + { + "name": "ApiKey", + "kind": "property", + "accessibility": "public", + "signature": "public string? FoundryResource.ApiKey", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, + "kind": "text", + "text": " The API key to access Foundry Local. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs" + }, + { + "name": "CapabilityHost", + "kind": "property", + "accessibility": "public", + "signature": "public CognitiveServicesCapabilityHost? FoundryResource.CapabilityHost", + "returnType": "Azure.Provisioning.CognitiveServices.CognitiveServicesCapabilityHost?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "DeepSeek-R1-Distill-Qwen-14B", - "value": "https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " The capability host associated with this project, if any. If none is set, we provision a default capability host for hosted agents. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs" }, { - "name": "DeepseekR115b", - "kind": "field", + "name": "ConnectionStringExpression", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.DeepseekR115b", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public ReferenceExpression FoundryResource.ConnectionStringExpression", + "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", + "hasGet": true, "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of DeepSeek-R1-Distill-Qwen-1.5B to enable local inference on Intel GPUs." - } - ] - }, + "kind": "text", + "text": " Gets the connection string template for the manifest for the resource. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "68-70" + }, + { + "name": "Deployments", + "kind": "property", + "accessibility": "public", + "signature": "public IReadOnlyList FoundryResource.Deployments", + "returnType": "System.Collections.Generic.IReadOnlyList", + "hasGet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, + "kind": "text", + "text": " Gets the list of deployment resources associated with the Microsoft Foundry. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "75-75" + }, + { + "name": "Endpoint", + "kind": "property", + "accessibility": "public", + "signature": "public BicepOutputReference FoundryResource.Endpoint", + "returnType": "Aspire.Hosting.Azure.BicepOutputReference", + "hasGet": true, + "docs": { + "summary": [ { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the DeepSeek-R1-Distill-Qwen-1.5B for local inference on Intel GPUs." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, + "kind": "text", + "text": " Gets the \"endpoint\" output reference from the Microsoft Foundry resource. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "38-38" + }, + { + "name": "Id", + "kind": "property", + "accessibility": "public", + "signature": "public BicepOutputReference FoundryResource.Id", + "returnType": "Aspire.Hosting.Azure.BicepOutputReference", + "hasGet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, + "kind": "text", + "text": " Gets the \"id\" output reference for the resource. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "48-48" + }, + { + "name": "IsEmulator", + "kind": "property", + "accessibility": "public", + "signature": "public bool FoundryResource.IsEmulator", + "returnType": "bool", + "hasGet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "DeepSeek-R1-Distill-Qwen-1.5B", - "value": "https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " Gets whether the resource is running in Foundry Local. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "87-87" }, { - "name": "DeepseekR17b", - "kind": "field", + "name": "NameOutputReference", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.DeepseekR17b", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public BicepOutputReference FoundryResource.NameOutputReference", + "returnType": "Aspire.Hosting.Azure.BicepOutputReference", + "hasGet": true, "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of DeepSeek-R1-Distill-Qwen-7B to enable local inference on Intel GPUs." - } - ] - }, + "kind": "text", + "text": " Gets the \"name\" output reference for the resource. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "43-43" + }, + { + "name": "UriExpression", + "kind": "property", + "accessibility": "public", + "signature": "public ReferenceExpression FoundryResource.UriExpression", + "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", + "hasGet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, + "kind": "text", + "text": " Gets the connection URI expression for the Microsoft Foundry endpoint. " + } + ], + "remarks": [ { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the DeepSeek-R1-Distill-Qwen-7B for local inference on Intel GPUs." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, + "kind": "text", + "text": " In emulator mode, resolves to the emulator service URI. In Azure mode, resolves to the Microsoft Foundry endpoint. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", + "sourceLines": "58-62" + } + ] + }, + { + "name": "FoundryToolboxMcpApprovalFilter", + "fullName": "Aspire.Hosting.Foundry.FoundryToolboxMcpApprovalFilter", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Selects MCP tools by name or read-only status for an approval policy. " + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireDtoAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs", + "sourceLines": "75-75", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public FoundryToolboxMcpApprovalFilter.FoundryToolboxMcpApprovalFilter()", + "returnType": "void" + }, + { + "name": "ReadOnly", + "kind": "property", + "accessibility": "public", + "signature": "public bool? FoundryToolboxMcpApprovalFilter.ReadOnly", + "returnType": "bool?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, + "kind": "text", + "text": " Gets or sets whether this filter selects read-only or non-read-only MCP tools. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs" + }, + { + "name": "ToolNames", + "kind": "property", + "accessibility": "public", + "signature": "public string[]? FoundryToolboxMcpApprovalFilter.ToolNames", + "returnType": "string[]?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "DeepSeek-R1-Distill-Qwen-7B", - "value": "https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " Gets or sets the names of the MCP tools selected by this filter. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs" + } + ] + }, + { + "name": "FoundryToolboxMcpApprovalPolicy", + "fullName": "Aspire.Hosting.Foundry.FoundryToolboxMcpApprovalPolicy", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Declares which tools discovered from an MCP server require approval. " + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireDtoAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs", + "sourceLines": "50-50", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public FoundryToolboxMcpApprovalPolicy.FoundryToolboxMcpApprovalPolicy()", + "returnType": "void" }, { - "name": "GptOss20b", - "kind": "field", + "name": "Always", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.GptOss20b", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public FoundryToolboxMcpApprovalFilter? FoundryToolboxMcpApprovalPolicy.Always", + "returnType": "Aspire.Hosting.Foundry.FoundryToolboxMcpApprovalFilter?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of gpt-oss-20b to enable local inference. This model uses RTN quantization." - } - ] + "kind": "text", + "text": " Gets or sets the filter for MCP tools that always require approval. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs" + }, + { + "name": "Global", + "kind": "property", + "accessibility": "public", + "signature": "public FoundryToolboxMcpGlobalApprovalMode? FoundryToolboxMcpApprovalPolicy.Global", + "returnType": "Aspire.Hosting.Foundry.FoundryToolboxMcpGlobalApprovalMode?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets a policy that applies to every tool exposed by the MCP server. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This cannot be combined with " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] + "kind": "cref", + "value": "P:Aspire.Hosting.Foundry.FoundryToolboxMcpApprovalPolicy.Always" }, { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " Apache-2.0" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License Description:" - }, - { - "kind": "text", - "text": " Use of this model is subject to the terms of the Apache License, Version 2.0, available at " - }, - { - "kind": "href", - "text": "http://www.apache.org/licenses/LICENSE-2.0", - "value": "http://www.apache.org/licenses/LICENSE-2.0" - }, - { - "kind": "text", - "text": "." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the gpt-oss-20b model for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] + "kind": "text", + "text": " or " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] + "kind": "cref", + "value": "P:Aspire.Hosting.Foundry.FoundryToolboxMcpApprovalPolicy.Never" }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Azure AI Foundry model " - }, - { - "kind": "href", - "text": "gpt-oss-20b", - "value": "https://ai.azure.com/catalog/models/gpt-oss-20b" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": ". " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs" }, { - "name": "Ministral33bInstruct2512", - "kind": "field", + "name": "Never", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Ministral33bInstruct2512", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public FoundryToolboxMcpApprovalFilter? FoundryToolboxMcpApprovalPolicy.Never", + "returnType": "Aspire.Hosting.Foundry.FoundryToolboxMcpApprovalFilter?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of Ministral-3-3B-Instruct-2512 for local inference. This optimized model is published here in ONNX format to run on CUDA-capable GPU devices, with the precision best suited to this target." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "ONNX Models" - } - ] - }, + "kind": "text", + "text": " Gets or sets the filter for MCP tools that never require approval. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs" + } + ] + }, + { + "name": "FoundryToolboxMcpGlobalApprovalMode", + "fullName": "Aspire.Hosting.Foundry.FoundryToolboxMcpGlobalApprovalMode", + "namespace": "Aspire.Hosting.Foundry", + "kind": "enum", + "accessibility": "public", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Declares a global approval requirement for tools discovered from an MCP server. " + } + ] + }, + "enumMembers": [ + { + "name": "Never", + "value": 0, + "description": "No discovered tool requires approval." + }, + { + "name": "Always", + "value": 1, + "description": "Every discovered tool requires approval." + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryToolboxMcpGlobalApprovalMode.cs", + "members": [] + }, + { + "name": "FoundryToolboxMcpToolOptions", + "fullName": "Aspire.Hosting.Foundry.FoundryToolboxMcpToolOptions", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Options for an MCP tool in a Microsoft Foundry Toolbox. " + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireDtoAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs", + "sourceLines": "23-23", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public FoundryToolboxMcpToolOptions.FoundryToolboxMcpToolOptions()", + "returnType": "void" + }, + { + "name": "ApprovalPolicy", + "kind": "property", + "accessibility": "public", + "signature": "public FoundryToolboxMcpApprovalPolicy? FoundryToolboxMcpToolOptions.ApprovalPolicy", + "returnType": "Aspire.Hosting.Foundry.FoundryToolboxMcpApprovalPolicy?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Here are some of the optimized configurations we have added:" - } - ] - }, + "kind": "text", + "text": " Gets or sets the declared approval policy for tools discovered from the MCP server. " + } + ], + "remarks": [ { - "kind": "list", - "style": "number", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "ONNX model for CUDA GPU using RTN quantization." - } - ] - } - ] - } - ] - }, + "kind": "text", + "text": " The Toolbox publishes this policy as MCP discovery metadata. Applications consuming the Toolbox remain responsible for enforcing approval before invoking a discovered tool. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs" + }, + { + "name": "ServerDescription", + "kind": "property", + "accessibility": "public", + "signature": "public string? FoundryToolboxMcpToolOptions.ServerDescription", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, + "kind": "text", + "text": " Gets or sets a description of the MCP server. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs" + }, + { + "name": "ServerLabel", + "kind": "property", + "accessibility": "public", + "signature": "public string? FoundryToolboxMcpToolOptions.ServerLabel", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " apache-2.0" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of Ministral-3-3B-Instruct-2512 for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] + "kind": "text", + "text": " Gets or sets the label that identifies the MCP server in the Toolbox and prefixes its discovered tool names. The Toolbox tool name is used when unset. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxOptions.cs" + } + ] + }, + { + "name": "FoundryToolboxResource", + "fullName": "Aspire.Hosting.Foundry.FoundryToolboxResource", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "baseType": "Aspire.Hosting.ApplicationModel.Resource", + "interfaces": [ + "Aspire.Hosting.ApplicationModel.IExpressionValue", + "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", + "Aspire.Hosting.ApplicationModel.IResource", + "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", + "Aspire.Hosting.ApplicationModel.IValueProvider", + "Aspire.Hosting.ApplicationModel.IValueWithReferences" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents a Microsoft Foundry Toolbox endpoint associated with a Foundry project. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Toolboxes are Foundry data-plane resources with no ARM or Bicep representation. Aspire reconciles the desired tool definitions after the parent project is provisioned, reuses the current default version when its configuration matches, and promotes a new immutable version when the configuration changes. " + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxResource.cs", + "sourceLines": "26-26", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public FoundryToolboxResource.FoundryToolboxResource(string name, AzureCognitiveServicesProjectResource parent, string? version = null)", + "returnType": "void", + "parameters": [ + { + "name": "name", + "type": "string" + }, + { + "name": "parent", + "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + }, + { + "name": "version", + "type": "string?", + "isNullable": true, + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Initializes a new instance of the " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.FoundryToolboxResource" }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "Ministral-3-3B-Instruct-2512", - "value": "https://huggingface.co/mistralai/Ministral-3-3B-Instruct-2512" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " class. " + } + ], + "parameters": { + "name": [ + { + "kind": "text", + "text": "The Toolbox name." + } + ], + "parent": [ + { + "kind": "text", + "text": "The parent Microsoft Foundry project resource." + } + ], + "version": [ + { + "kind": "text", + "text": "The optional existing Toolbox version to reference." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxResource.cs", + "sourceLines": "32-161" + }, + { + "name": "ApiVersion", + "kind": "property", + "accessibility": "public", + "signature": "public string FoundryToolboxResource.ApiVersion", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets or sets the API version used by the Toolbox MCP endpoint. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxResource.cs" }, { - "name": "Mistral7bV02", - "kind": "field", + "name": "ConnectionStringExpression", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Mistral7bV02", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public ReferenceExpression FoundryToolboxResource.ConnectionStringExpression", + "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", + "hasGet": true, "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of Mistral-7B-Instruct-v0.2 to enable local inference on Intel GPUs." - } - ] - }, + "kind": "text", + "text": " Gets the connection string expression for the Toolbox MCP endpoint. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxResource.cs", + "sourceLines": "181-181" + }, + { + "name": "DeployedVersion", + "kind": "property", + "accessibility": "public", + "signature": "public StaticValueProvider FoundryToolboxResource.DeployedVersion", + "returnType": "Aspire.Hosting.Foundry.StaticValueProvider", + "hasGet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, + "kind": "text", + "text": " Gets the version selected by the most recent reconciliation. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxResource.cs", + "sourceLines": "161-161" + }, + { + "name": "Description", + "kind": "property", + "accessibility": "public", + "signature": "public string FoundryToolboxResource.Description", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " apache-2.0" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the Mistral-7B-Instruct-v0.2 for local inference on Intel GPUs." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "Mistral-7B-Instruct-v0.2", - "value": "https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " Gets or sets the description persisted with each Toolbox version. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxResource.cs" }, { - "name": "MistralNemo12bInstruct", - "kind": "field", + "name": "Metadata", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.MistralNemo12bInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public IDictionary FoundryToolboxResource.Metadata", + "returnType": "System.Collections.Generic.IDictionary", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of Mistral-Nemo-Instruct-2407 to enable local inference. This model uses GPTQ quantization." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " apache-2.0" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the Mistral-Nemo-Instruct-2407 for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, + "kind": "text", + "text": " Gets metadata persisted with each Toolbox version. " + } + ], + "remarks": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "Mistral-Nemo-Instruct-2407", - "value": "https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " Aspire adds reserved ownership and configuration metadata during deployment. User metadata participates in change detection and therefore creates a new version when modified. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxResource.cs" }, { - "name": "Nemotron35AsrStreaming06b", - "kind": "field", + "name": "Parent", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Nemotron35AsrStreaming06b", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public AzureCognitiveServicesProjectResource FoundryToolboxResource.Parent", + "returnType": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource", + "hasGet": true, "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of nemotron-3.5-asr-streaming-0.6b to enable local inference. This model uses RTN quantization." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, + "kind": "text", + "text": " Gets the parent Microsoft Foundry project resource. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxResource.cs", + "sourceLines": "126-126" + }, + { + "name": "UriExpression", + "kind": "property", + "accessibility": "public", + "signature": "public ReferenceExpression FoundryToolboxResource.UriExpression", + "returnType": "Aspire.Hosting.ApplicationModel.ReferenceExpression", + "hasGet": true, + "docs": { + "summary": [ { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is an optimized version of the nemotron-3.5-asr-streaming-0.6b model for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, + "kind": "text", + "text": " Gets the Toolbox MCP endpoint URI expression. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxResource.cs", + "sourceLines": "174-176" + }, + { + "name": "Version", + "kind": "property", + "accessibility": "public", + "signature": "public string? FoundryToolboxResource.Version", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, + "kind": "text", + "text": " Gets or sets the Toolbox version used by consumers. " + } + ], + "remarks": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "nemotron-3.5-asr-streaming-0.6b", - "value": "https://huggingface.co/nvidia/nemotron-3.5-asr-streaming-0.6b" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " When unset, consumers use the default Toolbox endpoint. Set this only to target a specific existing immutable version for testing. Reconciliation always updates the default version independently of this consumer-side pin. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" - }, + "sourceFile": "src/Aspire.Hosting.Foundry/Toolbox/FoundryToolboxResource.cs" + } + ] + }, + { + "name": "FoundryToolResource", + "fullName": "Aspire.Hosting.Foundry.FoundryToolResource", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isAbstract": true, + "baseType": "Aspire.Hosting.ApplicationModel.Resource", + "interfaces": [ + "Aspire.Hosting.Foundry.IFoundryTool" + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Base class for Foundry tool resources that participate in the Aspire application model. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " All Foundry tools are modeled as project-level resources, enabling dashboard visibility, reusability across agents, and consistent lifecycle management. Create tool instances using the " + }, + { + "kind": "code", + "text": "Add*Tool" + }, + { + "kind": "text", + "text": " extension methods on " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + }, + { + "kind": "text", + "text": ". " + } + ] + }, + "attributes": [ { - "name": "NemotronSpeechStreamingEn06b", - "kind": "field", + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FoundryToolResource.cs", + "sourceLines": "18-18", + "members": [ + { + "name": "ToAgentToolAsync", + "kind": "method", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.NemotronSpeechStreamingEn06b", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public abstract Task FoundryToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", + "isAbstract": true, + "parameters": [ + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of nemotron-speech-streaming-en-0.6b to enable local inference. This model uses RTN quantization." - } - ] + "kind": "text", + "text": " Converts this tool definition into the SDK " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] + "kind": "cref", + "value": "T:OpenAI.Responses.ResponseTool" }, { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is an optimized version of the nemotron-speech-streaming-en-0.6b model for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, + "kind": "text", + "text": " representation. " + } + ], + "remarks": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, + "kind": "text", + "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + } + ], + "returns": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "nemotron-speech-streaming-en-0.6b", - "value": "https://huggingface.co/nvidia/nemotron-speech-streaming-en-0.6b" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": "The SDK tool representation." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "A cancellation token." + } + ] + } + } + }, + { + "name": "Project", + "kind": "property", + "accessibility": "public", + "signature": "public AzureCognitiveServicesProjectResource FoundryToolResource.Project", + "returnType": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource", + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets the parent Foundry project resource that this tool is associated with. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" - }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FoundryToolResource.cs", + "sourceLines": "35-35" + } + ] + }, + { + "name": "FunctionToolResource", + "fullName": "Aspire.Hosting.Foundry.FunctionToolResource", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", + "docs": { + "summary": [ + { + "kind": "text", + "text": " A Foundry tool resource that enables an agent to call a user-defined function. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " Function calling tools allow agents to invoke functions defined by the application. The agent decides when to call the function based on the function name, description, and parameter schema, then returns a structured function call request that the application handles. " + } + ] + }, + "attributes": [ { - "name": "NemotronSpeechStreamingEs06b", - "kind": "field", + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", + "sourceLines": "19-19", + "members": [ + { + "name": ".ctor", + "kind": "constructor", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.NemotronSpeechStreamingEs06b", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public FunctionToolResource.FunctionToolResource(string name, AzureCognitiveServicesProjectResource project, string functionName, BinaryData parameters, string? description = null, bool? strictModeEnabled = null)", + "returnType": "void", + "parameters": [ + { + "name": "name", + "type": "string" + }, + { + "name": "project", + "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + }, + { + "name": "functionName", + "type": "string" + }, + { + "name": "parameters", + "type": "System.BinaryData" + }, + { + "name": "description", + "type": "string?", + "isNullable": true, + "isOptional": true + }, + { + "name": "strictModeEnabled", + "type": "bool?", + "isNullable": true, + "isOptional": true + } + ], "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is a fine-tuned and optimized derivative of nemotron-speech-streaming-en-0.6b, adapted for Spanish speech recognition. The model is optimized for local inference." - } - ] + "kind": "text", + "text": " Creates a new instance of the " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.FunctionToolResource" }, { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This model is derived from nemotron-speech-streaming-en-0.6b and has been fine-tuned for Spanish speech recognition. It has been converted and optimized for efficient local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " This model is a fine-tuned and optimized derivative of the base model, adapted for Spanish speech recognition. Due to this adaptation, its capabilities differ substantially from the original English model and are specialized for Spanish-language use cases. The model may not perform as expected on other languages or tasks. Users are responsible for evaluating the model in their specific application context." - } - ] - } - ] - } - ] + "kind": "text", + "text": " class. " + } + ], + "parameters": { + "description": [ + { + "kind": "text", + "text": "A description of what the function does." + } + ], + "functionName": [ + { + "kind": "text", + "text": "The name of the function." + } + ], + "name": [ + { + "kind": "text", + "text": "The name of the tool resource." + } + ], + "parameters": [ + { + "kind": "text", + "text": "The JSON schema defining the function parameters." + } + ], + "project": [ + { + "kind": "text", + "text": "The parent Foundry project resource." + } + ], + "strictModeEnabled": [ + { + "kind": "text", + "text": "Whether to enable strict mode for parameter validation." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", + "sourceLines": "37-46" + }, + { + "name": "ToAgentToolAsync", + "kind": "method", + "accessibility": "public", + "signature": "public override Task FunctionToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", + "isOverride": true, + "parameters": [ + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Converts this tool definition into the SDK " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] + "kind": "cref", + "value": "T:OpenAI.Responses.ResponseTool" }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "https://huggingface.co/nvidia/nemotron-speech-streaming-en-0.6b", - "value": "https://huggingface.co/nvidia/nemotron-speech-streaming-en-0.6b" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " representation. " } - ] + ], + "remarks": [ + { + "kind": "text", + "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The SDK tool representation." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "A cancellation token." + } + ] + } }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", + "sourceLines": "71-72" }, { - "name": "Olmo37bInstruct", - "kind": "field", + "name": "Description", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Olmo37bInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public string? FunctionToolResource.Description", + "returnType": "string?", + "isReturnNullable": true, + "hasGet": true, "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of Olmo-3-7B-Instruct to enable local inference. This model uses GPTQ quantization." - } - ] - }, + "kind": "text", + "text": " Gets the description of the function. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", + "sourceLines": "61-61" + }, + { + "name": "FunctionName", + "kind": "property", + "accessibility": "public", + "signature": "public string FunctionToolResource.FunctionName", + "returnType": "string", + "hasGet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, + "kind": "text", + "text": " Gets the name of the function. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", + "sourceLines": "51-51" + }, + { + "name": "Parameters", + "kind": "property", + "accessibility": "public", + "signature": "public BinaryData FunctionToolResource.Parameters", + "returnType": "System.BinaryData", + "hasGet": true, + "docs": { + "summary": [ { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " apache-2.0" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the Olmo-3-7B-Instruct for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] + "kind": "text", + "text": " Gets the JSON schema defining the function parameters. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", + "sourceLines": "56-56" + }, + { + "name": "StrictModeEnabled", + "kind": "property", + "accessibility": "public", + "signature": "public bool? FunctionToolResource.StrictModeEnabled", + "returnType": "bool?", + "isReturnNullable": true, + "hasGet": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gets whether strict mode is enabled for parameter validation. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs", + "sourceLines": "66-66" + } + ] + }, + { + "name": "HostedAgentConfiguration", + "fullName": "Aspire.Hosting.Foundry.HostedAgentConfiguration", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "docs": { + "summary": [ + { + "kind": "text", + "text": " A configuration helper for hosted agents. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This type is used instead of " + }, + { + "kind": "cref", + "value": "T:Azure.AI.Projects.Agents.ProjectsAgentVersionCreationOptions" + }, + { + "kind": "text", + "text": " to provide a strongly typed configuration surface for hosted agent definitions. When used from polyglot AppHosts, only the ATS-compatible properties are exported; Azure SDK-specific members remain .NET-only. " + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute", + "arguments": { + "ExposeProperties": "True" + } + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs", + "sourceLines": "19-19", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public HostedAgentConfiguration.HostedAgentConfiguration(string image)", + "returnType": "void", + "parameters": [ + { + "name": "image", + "type": "string" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " A configuration helper for hosted agents. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This type is used instead of " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] + "kind": "cref", + "value": "T:Azure.AI.Projects.Agents.ProjectsAgentVersionCreationOptions" }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "Olmo-3-7B-Instruct", - "value": "https://huggingface.co/allenai/Olmo-3-7B-Instruct" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " to provide a strongly typed configuration surface for hosted agent definitions. When used from polyglot AppHosts, only the ATS-compatible properties are exported; Azure SDK-specific members remain .NET-only. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs", + "sourceLines": "19-113" }, { - "name": "ParakeetTdt06bV2", - "kind": "field", + "name": "ContentFilterConfiguration", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.ParakeetTdt06bV2", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public ContentFilterConfiguration? HostedAgentConfiguration.ContentFilterConfiguration", + "returnType": "Azure.AI.Projects.Agents.ContentFilterConfiguration?", + "isReturnNullable": true, + "hasGet": true, + "hasSet": true, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Azure SDK-specific type not usable from polyglot hosts." + } + } + ], "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of parakeet-tdt-0.6b-v2 for local inference. This optimized model is published here in ONNX format to run on CUDA-capable GPU devices, with the precision best suited to this target." - } - ] - }, + "kind": "text", + "text": " Configuration for Responsible AI (RAI) content filtering and safety features. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + }, + { + "name": "Cpu", + "kind": "property", + "accessibility": "public", + "signature": "public decimal HostedAgentConfiguration.Cpu", + "returnType": "decimal", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, + "kind": "text", + "text": " CPU allocation for each hosted agent instance, in vCPU cores. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + }, + { + "name": "CpuString", + "kind": "property", + "accessibility": "public", + "signature": "public string HostedAgentConfiguration.CpuString", + "returnType": "string", + "hasGet": true, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Derived formatting property used internally by Azure provisioning." + } + } + ], + "docs": { + "summary": [ { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the parakeet-tdt-0.6b-v2 for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, + "kind": "text", + "text": " CPU allocation as a string. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs", + "sourceLines": "79-79" + }, + { + "name": "Description", + "kind": "property", + "accessibility": "public", + "signature": "public string HostedAgentConfiguration.Description", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, + "kind": "text", + "text": " The description of the hosted agent. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + }, + { + "name": "EnvironmentVariables", + "kind": "property", + "accessibility": "public", + "signature": "public IDictionary HostedAgentConfiguration.EnvironmentVariables", + "returnType": "System.Collections.Generic.IDictionary", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "parakeet-tdt-0.6b-v2", - "value": "https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " Environment variables to set in the hosted agent container. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" }, { - "name": "Phi35Mini", - "kind": "field", + "name": "Image", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Phi35Mini", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public string HostedAgentConfiguration.Image", + "returnType": "string", + "hasGet": true, + "hasSet": true, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Image comes from the executable resource and is not configured from polyglot hosted agent callbacks." + } + } + ], "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of Phi-3.5-mini-instruct to enable local inference. This model uses RTN quantization." - } - ] - }, + "kind": "text", + "text": " The fully qualified container image name for the hosted agent. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + }, + { + "name": "Memory", + "kind": "property", + "accessibility": "public", + "signature": "public decimal HostedAgentConfiguration.Memory", + "returnType": "decimal", + "hasGet": true, + "hasSet": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, + "kind": "text", + "text": " Memory allocation for each hosted agent instance, in GiB. Must be 2x the CPU allocation. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + }, + { + "name": "MemoryString", + "kind": "property", + "accessibility": "public", + "signature": "public string HostedAgentConfiguration.MemoryString", + "returnType": "string", + "hasGet": true, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Derived formatting property used internally by Azure provisioning." + } + } + ], + "docs": { + "summary": [ { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the Phi-3.5-mini-instruct for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, + "kind": "text", + "text": " Memory allocation as a string. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs", + "sourceLines": "102-102" + }, + { + "name": "Metadata", + "kind": "property", + "accessibility": "public", + "signature": "public IDictionary HostedAgentConfiguration.Metadata", + "returnType": "System.Collections.Generic.IDictionary", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "Phi-3.5-mini-instruct", - "value": "https://huggingface.co/microsoft/Phi-3.5-mini-instruct" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " Additional metadata to associate with the hosted agent. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" }, { - "name": "Phi3Mini128k", - "kind": "field", + "name": "ProtocolVersions", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Phi3Mini128k", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public IList HostedAgentConfiguration.ProtocolVersions", + "returnType": "System.Collections.Generic.IList", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Azure SDK-specific type not usable from polyglot hosts." + } + } + ], "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of Phi-3-Mini-128K-Instruct to enable local inference. This model uses RTN quantization." - } - ] + "kind": "text", + "text": " The protocols that the agent supports for ingress communication of the containers. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This collection has no configuration-level default. The " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] + "kind": "code", + "text": "AsHostedAgent" }, { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the Phi-3-Mini-128K-Instruct for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "Phi-3-Mini-128K-Instruct", - "value": "https://huggingface.co/microsoft/Phi-3-Mini-128K-Instruct" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " overloads add the selected protocol version before deployment, and the C# convenience overload defaults that selection to Responses 2.0.0. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" }, { - "name": "Phi3Mini4k", - "kind": "field", + "name": "Tools", + "kind": "property", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Phi3Mini4k", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public IList HostedAgentConfiguration.Tools", + "returnType": "System.Collections.Generic.IList", + "hasGet": true, + "hasSet": true, + "isInitOnly": true, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportIgnoreAttribute", + "arguments": { + "Reason": "Azure SDK-specific type not usable from polyglot hosts." + } + } + ], "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of Phi-3-Mini-4K-Instruct to enable local inference. This model uses RTN quantization." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the Phi-3-Mini-4K-Instruct for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "Phi-3-Mini-4K-Instruct", - "value": "https://huggingface.co/microsoft/Phi-3-mini-4k-instruct" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " Tools available to the hosted agent. " } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/HostedAgentConfiguration.cs" + } + ] + }, + { + "name": "HostedAgentProtocol", + "fullName": "Aspire.Hosting.Foundry.HostedAgentProtocol", + "namespace": "Aspire.Hosting.Foundry", + "kind": "enum", + "accessibility": "public", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Protocols supported by Microsoft Foundry hosted agent containers. " + } + ] + }, + "enumMembers": [ + { + "name": "Responses", + "value": 0, + "description": "The hosted agent container exposes the Responses protocol." }, { - "name": "Phi4", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Phi4", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of Phi-4 to enable local inference. This model uses RTN quantization." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the Phi-4 for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "Phi-4", - "value": "https://huggingface.co/microsoft/Phi-4" - }, - { - "kind": "text", - "text": " for details." - } - ] - } - ] + "name": "Invocations", + "value": 1, + "description": "The hosted agent container exposes the Invocations protocol." + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgentProtocol.cs", + "members": [] + }, + { + "name": "IFoundryTool", + "fullName": "Aspire.Hosting.Foundry.IFoundryTool", + "namespace": "Aspire.Hosting.Foundry", + "kind": "interface", + "accessibility": "public", + "docs": { + "summary": [ + { + "kind": "text", + "text": " Represents a Foundry tool that can be attached to a prompt agent. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This interface provides an extensibility point for custom tool implementations that don't fit the standard " }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" - }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.FoundryToolResource" + }, + { + "kind": "text", + "text": " model. For most scenarios, use the project-level " + }, + { + "kind": "code", + "text": "Add*Tool" + }, + { + "kind": "text", + "text": " methods which return " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.FoundryToolResource" + }, + { + "kind": "text", + "text": " subclasses. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/IFoundryTool.cs", + "members": [ { - "name": "Phi4Mini", - "kind": "field", + "name": "ToAgentToolAsync", + "kind": "method", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Phi4Mini", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, + "signature": "public abstract Task IFoundryTool.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", + "isAbstract": true, + "parameters": [ + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], "docs": { "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This model is an optimized version of Phi-4-mini-instruct to enable local inference. This model uses RTN quantization." - } - ] + "kind": "text", + "text": " Converts this tool definition into the SDK " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description" - } - ] + "kind": "cref", + "value": "T:OpenAI.Responses.ResponseTool" }, { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Developed by:" - }, - { - "kind": "text", - "text": " Microsoft" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model type:" - }, - { - "kind": "text", - "text": " ONNX" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "License:" - }, - { - "kind": "text", - "text": " MIT" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Description:" - }, - { - "kind": "text", - "text": " This is a conversion of the Phi-4-mini-instruct for local inference." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Disclaimer:" - }, - { - "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." - } - ] - } - ] - } - ] + "kind": "text", + "text": " representation. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The SDK tool representation." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "A cancellation token." + } + ] + } + } + } + ] + }, + { + "name": "ImageGenerationToolResource", + "fullName": "Aspire.Hosting.Foundry.ImageGenerationToolResource", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isSealed": true, + "baseType": "Aspire.Hosting.Foundry.FoundryToolResource", + "docs": { + "summary": [ + { + "kind": "text", + "text": " A Foundry tool resource that enables an agent to generate and edit images. " + } + ] + }, + "attributes": [ + { + "name": "Aspire.Hosting.AspireExportAttribute" + } + ], + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "103-103", + "members": [ + { + "name": ".ctor", + "kind": "constructor", + "accessibility": "public", + "signature": "public ImageGenerationToolResource.ImageGenerationToolResource(string name, AzureCognitiveServicesProjectResource project)", + "returnType": "void", + "parameters": [ + { + "name": "name", + "type": "string" + }, + { + "name": "project", + "type": "Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource" + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Creates a new instance of the " }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Base Model Information" - } - ] + "kind": "cref", + "value": "T:Aspire.Hosting.Foundry.ImageGenerationToolResource" }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "See Hugging Face model " - }, - { - "kind": "href", - "text": "Phi-4-mini-instruct", - "value": "https://huggingface.co/microsoft/Phi-4-mini-instruct" - }, - { - "kind": "text", - "text": " for details." - } - ] + "kind": "text", + "text": " class. " } - ] + ], + "parameters": { + "name": [ + { + "kind": "text", + "text": "The name of the tool resource." + } + ], + "project": [ + { + "kind": "text", + "text": "The parent Foundry project resource." + } + ] + } }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "111-113" }, { - "name": "Phi4MiniReasoning", + "name": "ToAgentToolAsync", + "kind": "method", + "accessibility": "public", + "signature": "public override Task ImageGenerationToolResource.ToAgentToolAsync(CancellationToken cancellationToken = default(CancellationToken))", + "returnType": "System.Threading.Tasks.Task", + "isOverride": true, + "parameters": [ + { + "name": "cancellationToken", + "type": "System.Threading.CancellationToken", + "isOptional": true + } + ], + "docs": { + "summary": [ + { + "kind": "text", + "text": " Converts this tool definition into the SDK " + }, + { + "kind": "cref", + "value": "T:OpenAI.Responses.ResponseTool" + }, + { + "kind": "text", + "text": " representation. " + } + ], + "remarks": [ + { + "kind": "text", + "text": " This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point. " + } + ], + "returns": [ + { + "kind": "text", + "text": "The SDK tool representation." + } + ], + "parameters": { + "cancellationToken": [ + { + "kind": "text", + "text": "A cancellation token." + } + ] + } + }, + "sourceFile": "src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs", + "sourceLines": "118-118" + } + ] + }, + { + "name": "Local", + "fullName": "Aspire.Hosting.Foundry.FoundryModel.Local", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Models available on Foundry Local. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs", + "sourceLines": "13-13", + "members": [ + { + "name": "DeepseekR114b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Phi4MiniReasoning", + "signature": "public static readonly FoundryModel Local.DeepseekR114b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -12349,7 +11214,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Phi-4-mini-reasoning to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of DeepSeek-R1-Distill-Qwen-14B to enable local inference on Intel GPUs." } ] }, @@ -12428,7 +11293,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Phi-4-mini-reasoning for local inference." + "text": " This is a conversion of the DeepSeek-R1-Distill-Qwen-14B for local inference on Intel GPUs." } ] } @@ -12471,8 +11336,8 @@ }, { "kind": "href", - "text": "Phi-4-mini-reasoning", - "value": "https://huggingface.co/microsoft/Phi-4-mini-reasoning" + "text": "DeepSeek-R1-Distill-Qwen-14B", + "value": "https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B" }, { "kind": "text", @@ -12485,10 +11350,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen2505b", + "name": "DeepseekR115b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen2505b", + "signature": "public static readonly FoundryModel Local.DeepseekR115b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -12499,7 +11364,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen2.5-0.5B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of DeepSeek-R1-Distill-Qwen-1.5B to enable local inference on Intel GPUs." } ] }, @@ -12561,7 +11426,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -12578,7 +11443,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen2.5-0.5B-Instruct for local inference." + "text": " This is a conversion of the DeepSeek-R1-Distill-Qwen-1.5B for local inference on Intel GPUs." } ] } @@ -12621,8 +11486,8 @@ }, { "kind": "href", - "text": "Qwen2.5-0.5B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct" + "text": "DeepSeek-R1-Distill-Qwen-1.5B", + "value": "https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B" }, { "kind": "text", @@ -12635,10 +11500,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen2514b", + "name": "DeepseekR17b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen2514b", + "signature": "public static readonly FoundryModel Local.DeepseekR17b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -12649,7 +11514,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen2.5-14B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of DeepSeek-R1-Distill-Qwen-7B to enable local inference on Intel GPUs." } ] }, @@ -12711,7 +11576,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -12728,7 +11593,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen2.5-14B-Instruct for local inference." + "text": " This is a conversion of the DeepSeek-R1-Distill-Qwen-7B for local inference on Intel GPUs." } ] } @@ -12771,8 +11636,8 @@ }, { "kind": "href", - "text": "Qwen2.5-14B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen2.5-14B-Instruct" + "text": "DeepSeek-R1-Distill-Qwen-7B", + "value": "https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B" }, { "kind": "text", @@ -12785,10 +11650,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen2515b", + "name": "Gemma4E2bIt", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen2515b", + "signature": "public static readonly FoundryModel Local.Gemma4E2bIt", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -12799,7 +11664,44 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen2.5-1.5B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Gemma 4 E2B IT for local inference. This optimized model is published here in ONNX format to run on CUDA-capable GPU devices, with the precision best suited to this target." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "ONNX Models" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Here are some of the optimized configurations we have added:" + } + ] + }, + { + "kind": "list", + "style": "number", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "ONNX model for CUDA GPU using RTN quantization." + } + ] + } + ] } ] }, @@ -12827,7 +11729,7 @@ }, { "kind": "text", - "text": " Microsoft" + "text": " Google DeepMind" } ] } @@ -12878,7 +11780,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen2.5-1.5B-Instruct for local inference." + "text": " This is a conversion of Gemma 4 E2B IT for local inference." } ] } @@ -12921,8 +11823,8 @@ }, { "kind": "href", - "text": "Qwen2.5-1.5B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct" + "text": "Gemma 4 E2B IT", + "value": "https://huggingface.co/google/gemma-4-e2b-it" }, { "kind": "text", @@ -12935,10 +11837,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen257b", + "name": "GptOss20b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen257b", + "signature": "public static readonly FoundryModel Local.GptOss20b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -12949,7 +11851,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen2.5-7B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of gpt-oss-20b to enable local inference. This model uses RTN quantization." } ] }, @@ -13011,7 +11913,33 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " Apache-2.0" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "License Description:" + }, + { + "kind": "text", + "text": " Use of this model is subject to the terms of the Apache License, Version 2.0, available at " + }, + { + "kind": "href", + "text": "http://www.apache.org/licenses/LICENSE-2.0", + "value": "http://www.apache.org/licenses/LICENSE-2.0" + }, + { + "kind": "text", + "text": "." } ] } @@ -13028,7 +11956,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen2.5-7B-Instruct for local inference." + "text": " This is a conversion of the gpt-oss-20b model for local inference." } ] } @@ -13067,12 +11995,12 @@ "children": [ { "kind": "text", - "text": "See Hugging Face model " + "text": "See Azure AI Foundry model " }, { "kind": "href", - "text": "Qwen2.5-7B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen2.5-7B-Instruct" + "text": "gpt-oss-20b", + "value": "https://ai.azure.com/catalog/models/gpt-oss-20b" }, { "kind": "text", @@ -13085,10 +12013,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen25Coder05b", + "name": "Ministral33bInstruct2512", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen25Coder05b", + "signature": "public static readonly FoundryModel Local.Ministral33bInstruct2512", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -13099,7 +12027,44 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen2.5-Coder-0.5B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Ministral-3-3B-Instruct-2512 for local inference. This optimized model is published here in ONNX format to run on CUDA-capable GPU devices, with the precision best suited to this target." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "ONNX Models" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Here are some of the optimized configurations we have added:" + } + ] + }, + { + "kind": "list", + "style": "number", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "ONNX model for CUDA GPU using RTN quantization." + } + ] + } + ] } ] }, @@ -13178,7 +12143,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen2.5-Coder-0.5B-Instruct for local inference." + "text": " This is a conversion of Ministral-3-3B-Instruct-2512 for local inference." } ] } @@ -13221,8 +12186,8 @@ }, { "kind": "href", - "text": "Qwen2.5-Coder-0.5B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen2.5-Coder-0.5B-Instruct" + "text": "Ministral-3-3B-Instruct-2512", + "value": "https://huggingface.co/mistralai/Ministral-3-3B-Instruct-2512" }, { "kind": "text", @@ -13235,10 +12200,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen25Coder14b", + "name": "Mistral7bV02", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen25Coder14b", + "signature": "public static readonly FoundryModel Local.Mistral7bV02", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -13249,7 +12214,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen2.5-Coder-14B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Mistral-7B-Instruct-v0.2 to enable local inference on Intel GPUs." } ] }, @@ -13328,7 +12293,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen2.5-Coder-14B-Instruct for local inference." + "text": " This is a conversion of the Mistral-7B-Instruct-v0.2 for local inference on Intel GPUs." } ] } @@ -13371,8 +12336,8 @@ }, { "kind": "href", - "text": "Qwen2.5-Coder-14B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen2.5-Coder-14B-Instruct" + "text": "Mistral-7B-Instruct-v0.2", + "value": "https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2" }, { "kind": "text", @@ -13385,10 +12350,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen25Coder15b", + "name": "MistralNemo12bInstruct", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen25Coder15b", + "signature": "public static readonly FoundryModel Local.MistralNemo12bInstruct", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -13399,7 +12364,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen2.5-Coder-1.5B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Mistral-Nemo-Instruct-2407 to enable local inference. This model uses GPTQ quantization." } ] }, @@ -13478,7 +12443,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen2.5-Coder-1.5B-Instruct for local inference." + "text": " This is a conversion of the Mistral-Nemo-Instruct-2407 for local inference." } ] } @@ -13521,8 +12486,8 @@ }, { "kind": "href", - "text": "Qwen2.5-Coder-1.5B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen2.5-Coder-1.5B-Instruct" + "text": "Mistral-Nemo-Instruct-2407", + "value": "https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407" }, { "kind": "text", @@ -13535,10 +12500,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen25Coder3b", + "name": "Nemotron35AsrStreaming06b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen25Coder3b", + "signature": "public static readonly FoundryModel Local.Nemotron35AsrStreaming06b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -13549,7 +12514,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen2.5-Coder-3B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of nemotron-3.5-asr-streaming-0.6b to enable local inference. This model uses RTN quantization." } ] }, @@ -13611,7 +12576,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -13628,7 +12593,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen2.5-Coder-3B-Instruct for local inference." + "text": " This is an optimized version of the nemotron-3.5-asr-streaming-0.6b model for local inference." } ] } @@ -13671,8 +12636,8 @@ }, { "kind": "href", - "text": "Qwen2.5-Coder-3B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen2.5-Coder-3B-Instruct" + "text": "nemotron-3.5-asr-streaming-0.6b", + "value": "https://huggingface.co/nvidia/nemotron-3.5-asr-streaming-0.6b" }, { "kind": "text", @@ -13685,10 +12650,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen25Coder7b", + "name": "NemotronSpeechStreamingEn06b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen25Coder7b", + "signature": "public static readonly FoundryModel Local.NemotronSpeechStreamingEn06b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -13699,7 +12664,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen2.5-Coder-7B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of nemotron-speech-streaming-en-0.6b to enable local inference. This model uses RTN quantization." } ] }, @@ -13761,7 +12726,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -13778,7 +12743,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen2.5-Coder-7B-Instruct for local inference." + "text": " This is an optimized version of the nemotron-speech-streaming-en-0.6b model for local inference." } ] } @@ -13821,8 +12786,8 @@ }, { "kind": "href", - "text": "Qwen2.5-Coder-7B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct" + "text": "nemotron-speech-streaming-en-0.6b", + "value": "https://huggingface.co/nvidia/nemotron-speech-streaming-en-0.6b" }, { "kind": "text", @@ -13835,10 +12800,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen306b", + "name": "NemotronSpeechStreamingEs06b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen306b", + "signature": "public static readonly FoundryModel Local.NemotronSpeechStreamingEs06b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -13849,7 +12814,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3-0.6B to enable local inference. This model uses KLD Gradient quantization." + "text": "This model is a fine-tuned and optimized derivative of nemotron-speech-streaming-en-0.6b, adapted for Spanish speech recognition. The model is optimized for local inference." } ] }, @@ -13911,7 +12876,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -13928,7 +12893,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3-0.6B for local inference." + "text": " This model is derived from nemotron-speech-streaming-en-0.6b and has been fine-tuned for Spanish speech recognition. It has been converted and optimized for efficient local inference." } ] } @@ -13945,7 +12910,7 @@ }, { "kind": "text", - "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." + "text": " This model is a fine-tuned and optimized derivative of the base model, adapted for Spanish speech recognition. Due to this adaptation, its capabilities differ substantially from the original English model and are specialized for Spanish-language use cases. The model may not perform as expected on other languages or tasks. Users are responsible for evaluating the model in their specific application context." } ] } @@ -13971,8 +12936,8 @@ }, { "kind": "href", - "text": "Qwen3-0.6B", - "value": "https://huggingface.co/Qwen/Qwen3-0.6B" + "text": "https://huggingface.co/nvidia/nemotron-speech-streaming-en-0.6b", + "value": "https://huggingface.co/nvidia/nemotron-speech-streaming-en-0.6b" }, { "kind": "text", @@ -13985,10 +12950,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen314b", + "name": "Olmo37bInstruct", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen314b", + "signature": "public static readonly FoundryModel Local.Olmo37bInstruct", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -13999,7 +12964,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3-14B to enable local inference. This model uses GPTQ quantization." + "text": "This model is an optimized version of Olmo-3-7B-Instruct to enable local inference. This model uses GPTQ quantization." } ] }, @@ -14078,7 +13043,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3-14B for local inference." + "text": " This is a conversion of the Olmo-3-7B-Instruct for local inference." } ] } @@ -14121,8 +13086,8 @@ }, { "kind": "href", - "text": "Qwen3-14B", - "value": "https://huggingface.co/Qwen/Qwen3-14B" + "text": "Olmo-3-7B-Instruct", + "value": "https://huggingface.co/allenai/Olmo-3-7B-Instruct" }, { "kind": "text", @@ -14135,10 +13100,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen317b", + "name": "ParakeetTdt06bV2", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen317b", + "signature": "public static readonly FoundryModel Local.ParakeetTdt06bV2", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -14149,7 +13114,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3-1.7B to enable local inference. This model uses KLD Gradient quantization." + "text": "This model is an optimized version of parakeet-tdt-0.6b-v2 for local inference. This optimized model is published here in ONNX format to run on CUDA-capable GPU devices, with the precision best suited to this target." } ] }, @@ -14211,7 +13176,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -14228,7 +13193,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3-1.7B for local inference." + "text": " This is a conversion of the parakeet-tdt-0.6b-v2 for local inference." } ] } @@ -14271,8 +13236,8 @@ }, { "kind": "href", - "text": "Qwen3-1.7B", - "value": "https://huggingface.co/Qwen/Qwen3-1.7B" + "text": "parakeet-tdt-0.6b-v2", + "value": "https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2" }, { "kind": "text", @@ -14285,10 +13250,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen34b", + "name": "Phi35Mini", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen34b", + "signature": "public static readonly FoundryModel Local.Phi35Mini", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -14299,7 +13264,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3-4B to enable local inference. This model uses KLD Gradient quantization." + "text": "This model is an optimized version of Phi-3.5-mini-instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -14361,7 +13326,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -14378,7 +13343,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3-4B for local inference." + "text": " This is a conversion of the Phi-3.5-mini-instruct for local inference." } ] } @@ -14421,8 +13386,8 @@ }, { "kind": "href", - "text": "Qwen3-4B", - "value": "https://huggingface.co/Qwen/Qwen3-4B" + "text": "Phi-3.5-mini-instruct", + "value": "https://huggingface.co/microsoft/Phi-3.5-mini-instruct" }, { "kind": "text", @@ -14435,10 +13400,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen3508b", + "name": "Phi3Mini128k", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen3508b", + "signature": "public static readonly FoundryModel Local.Phi3Mini128k", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -14449,7 +13414,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3.5-0.8B to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Phi-3-Mini-128K-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -14511,7 +13476,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -14528,7 +13493,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3.5-0.8B for local inference." + "text": " This is a conversion of the Phi-3-Mini-128K-Instruct for local inference." } ] } @@ -14571,8 +13536,8 @@ }, { "kind": "href", - "text": "Qwen3.5-0.8B", - "value": "https://huggingface.co/Qwen/Qwen3.5-0.8B" + "text": "Phi-3-Mini-128K-Instruct", + "value": "https://huggingface.co/microsoft/Phi-3-Mini-128K-Instruct" }, { "kind": "text", @@ -14585,10 +13550,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen352b", + "name": "Phi3Mini4k", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen352b", + "signature": "public static readonly FoundryModel Local.Phi3Mini4k", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -14599,7 +13564,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3.5-2B to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Phi-3-Mini-4K-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -14661,7 +13626,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -14678,7 +13643,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3.5-2B for local inference." + "text": " This is a conversion of the Phi-3-Mini-4K-Instruct for local inference." } ] } @@ -14721,8 +13686,8 @@ }, { "kind": "href", - "text": "Qwen3.5-2B", - "value": "https://huggingface.co/Qwen/Qwen3.5-2B" + "text": "Phi-3-Mini-4K-Instruct", + "value": "https://huggingface.co/microsoft/Phi-3-mini-4k-instruct" }, { "kind": "text", @@ -14735,10 +13700,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen352bText", + "name": "Phi4", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen352bText", + "signature": "public static readonly FoundryModel Local.Phi4", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -14749,7 +13714,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized text-only version of Qwen3.5-2B to enable local inference with CUDA. This model uses RTN quantization." + "text": "This model is an optimized version of Phi-4 to enable local inference. This model uses RTN quantization." } ] }, @@ -14811,7 +13776,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -14828,7 +13793,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3.5-2B text model for local inference with CUDA." + "text": " This is a conversion of the Phi-4 for local inference." } ] } @@ -14871,8 +13836,8 @@ }, { "kind": "href", - "text": "Qwen3.5-2B", - "value": "https://huggingface.co/Qwen/Qwen3.5-2B" + "text": "Phi-4", + "value": "https://huggingface.co/microsoft/Phi-4" }, { "kind": "text", @@ -14885,10 +13850,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen354b", + "name": "Phi4Mini", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen354b", + "signature": "public static readonly FoundryModel Local.Phi4Mini", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -14899,7 +13864,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3.5-4B to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Phi-4-mini-instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -14961,7 +13926,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -14978,7 +13943,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3.5-4B for local inference." + "text": " This is a conversion of the Phi-4-mini-instruct for local inference." } ] } @@ -15021,8 +13986,8 @@ }, { "kind": "href", - "text": "Qwen3.5-4B", - "value": "https://huggingface.co/Qwen/Qwen3.5-4B" + "text": "Phi-4-mini-instruct", + "value": "https://huggingface.co/microsoft/Phi-4-mini-instruct" }, { "kind": "text", @@ -15035,10 +14000,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen359b", + "name": "Phi4MiniReasoning", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen359b", + "signature": "public static readonly FoundryModel Local.Phi4MiniReasoning", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -15049,7 +14014,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3.5-9B to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Phi-4-mini-reasoning to enable local inference. This model uses RTN quantization." } ] }, @@ -15111,7 +14076,7 @@ }, { "kind": "text", - "text": " apache-2.0" + "text": " MIT" } ] } @@ -15128,7 +14093,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3.5-9B for local inference." + "text": " This is a conversion of the Phi-4-mini-reasoning for local inference." } ] } @@ -15171,8 +14136,8 @@ }, { "kind": "href", - "text": "Qwen3.5-9B", - "value": "https://huggingface.co/Qwen/Qwen3.5-9B" + "text": "Phi-4-mini-reasoning", + "value": "https://huggingface.co/microsoft/Phi-4-mini-reasoning" }, { "kind": "text", @@ -15185,10 +14150,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen38b", + "name": "Qwen2505b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen38b", + "signature": "public static readonly FoundryModel Local.Qwen2505b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -15199,7 +14164,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3-8B to enable local inference. This model uses KLD Gradient quantization." + "text": "This model is an optimized version of Qwen2.5-0.5B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -15278,7 +14243,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3-8B for local inference." + "text": " This is a conversion of the Qwen2.5-0.5B-Instruct for local inference." } ] } @@ -15321,8 +14286,8 @@ }, { "kind": "href", - "text": "Qwen3-8B", - "value": "https://huggingface.co/Qwen/Qwen3-8B" + "text": "Qwen2.5-0.5B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct" }, { "kind": "text", @@ -15335,10 +14300,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen3Embedding06b", + "name": "Qwen2514b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen3Embedding06b", + "signature": "public static readonly FoundryModel Local.Qwen2514b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -15349,16 +14314,7 @@ "children": [ { "kind": "text", - "text": "Qwen3 Embedding 0.6B Cuda Gpu" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This is the GPU (NVIDIA CUDA)-optimized variant of qwen3-embedding-0.6b, a text embedding model from the Qwen3 family developed by Alibaba Cloud and optimized by Microsoft." + "text": "This model is an optimized version of Qwen2.5-14B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -15367,7 +14323,7 @@ "children": [ { "kind": "text", - "text": "Model Details" + "text": "Model Description" } ] }, @@ -15382,62 +14338,11 @@ "children": [ { "kind": "text", - "text": "Model Type" - }, - { - "kind": "text", - "text": ": Text Embedding (ONNX)" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Parameters" - }, - { - "kind": "text", - "text": ": 0.6 billion" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Context Length" - }, - { - "kind": "text", - "text": ": 32K tokens" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Embedding Dimension" + "text": "Developed by:" }, { "kind": "text", - "text": ": Up to 1024" + "text": " Microsoft" } ] } @@ -15450,11 +14355,11 @@ "children": [ { "kind": "text", - "text": "Quantization" + "text": "Model type:" }, { "kind": "text", - "text": ": KLD Gradient quantization" + "text": " ONNX" } ] } @@ -15467,11 +14372,11 @@ "children": [ { "kind": "text", - "text": "Target Device" + "text": "License:" }, { "kind": "text", - "text": ": GPU (NVIDIA CUDA)" + "text": " apache-2.0" } ] } @@ -15484,11 +14389,11 @@ "children": [ { "kind": "text", - "text": "Execution Provider" + "text": "Model Description:" }, { "kind": "text", - "text": ": CUDAExecutionProvider" + "text": " This is a conversion of the Qwen2.5-14B-Instruct for local inference." } ] } @@ -15501,11 +14406,11 @@ "children": [ { "kind": "text", - "text": "Supported Languages" + "text": "Disclaimer:" }, { "kind": "text", - "text": ": 100+" + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -15518,7 +14423,7 @@ "children": [ { "kind": "text", - "text": "Intended Use" + "text": "Base Model Information" } ] }, @@ -15527,7 +14432,39 @@ "children": [ { "kind": "text", - "text": "This model is optimized for local execution on devices with GPU (NVIDIA CUDA) hardware acceleration using Foundry Local." + "text": "See Hugging Face model " + }, + { + "kind": "href", + "text": "Qwen2.5-14B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen2.5-14B-Instruct" + }, + { + "kind": "text", + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen2515b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen2515b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized version of Qwen2.5-1.5B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -15536,7 +14473,7 @@ "children": [ { "kind": "text", - "text": "Capabilities" + "text": "Model Description" } ] }, @@ -15551,7 +14488,11 @@ "children": [ { "kind": "text", - "text": "Text retrieval and semantic search" + "text": "Developed by:" + }, + { + "kind": "text", + "text": " Microsoft" } ] } @@ -15564,7 +14505,11 @@ "children": [ { "kind": "text", - "text": "Code retrieval" + "text": "Model type:" + }, + { + "kind": "text", + "text": " ONNX" } ] } @@ -15577,7 +14522,11 @@ "children": [ { "kind": "text", - "text": "Text classification and clustering" + "text": "License:" + }, + { + "kind": "text", + "text": " apache-2.0" } ] } @@ -15590,7 +14539,11 @@ "children": [ { "kind": "text", - "text": "Bitext mining" + "text": "Model Description:" + }, + { + "kind": "text", + "text": " This is a conversion of the Qwen2.5-1.5B-Instruct for local inference." } ] } @@ -15603,7 +14556,11 @@ "children": [ { "kind": "text", - "text": "Multilingual and cross-lingual retrieval" + "text": "Disclaimer:" + }, + { + "kind": "text", + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -15616,7 +14573,7 @@ "children": [ { "kind": "text", - "text": "License" + "text": "Base Model Information" } ] }, @@ -15625,49 +14582,16 @@ "children": [ { "kind": "text", - "text": "This model is licensed under Apache 2.0. See " + "text": "See Hugging Face model " }, { "kind": "href", - "text": "license details", - "value": "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B/blob/main/LICENSE" + "text": "Qwen2.5-1.5B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct" }, { "kind": "text", - "text": "." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Source" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "HuggingFace: " - }, - { - "kind": "href", - "text": "Qwen3-Embedding-0.6B", - "value": "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B" - } - ] - } - ] + "text": " for details." } ] } @@ -15676,10 +14600,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen3Embedding8b", + "name": "Qwen257b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen3Embedding8b", + "signature": "public static readonly FoundryModel Local.Qwen257b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -15690,16 +14614,7 @@ "children": [ { "kind": "text", - "text": "Qwen3 Embedding 8B Cuda Gpu" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "This is the GPU (NVIDIA CUDA)-optimized variant of qwen3-embedding-8b, a text embedding model from the Qwen3 family developed by Alibaba Cloud and optimized by Microsoft." + "text": "This model is an optimized version of Qwen2.5-7B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -15708,7 +14623,7 @@ "children": [ { "kind": "text", - "text": "Model Details" + "text": "Model Description" } ] }, @@ -15723,62 +14638,11 @@ "children": [ { "kind": "text", - "text": "Model Type" - }, - { - "kind": "text", - "text": ": Text Embedding (ONNX)" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Parameters" - }, - { - "kind": "text", - "text": ": 8 billion" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Context Length" - }, - { - "kind": "text", - "text": ": 32K tokens" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Embedding Dimension" + "text": "Developed by:" }, { "kind": "text", - "text": ": Up to 4096" + "text": " Microsoft" } ] } @@ -15791,11 +14655,11 @@ "children": [ { "kind": "text", - "text": "Quantization" + "text": "Model type:" }, { "kind": "text", - "text": ": KLD Gradient quantization" + "text": " ONNX" } ] } @@ -15808,11 +14672,11 @@ "children": [ { "kind": "text", - "text": "Target Device" + "text": "License:" }, { "kind": "text", - "text": ": GPU (NVIDIA CUDA)" + "text": " apache-2.0" } ] } @@ -15825,11 +14689,11 @@ "children": [ { "kind": "text", - "text": "Execution Provider" + "text": "Model Description:" }, { "kind": "text", - "text": ": CUDAExecutionProvider" + "text": " This is a conversion of the Qwen2.5-7B-Instruct for local inference." } ] } @@ -15842,11 +14706,11 @@ "children": [ { "kind": "text", - "text": "Supported Languages" + "text": "Disclaimer:" }, { "kind": "text", - "text": ": 100+" + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -15859,7 +14723,7 @@ "children": [ { "kind": "text", - "text": "Intended Use" + "text": "Base Model Information" } ] }, @@ -15868,7 +14732,39 @@ "children": [ { "kind": "text", - "text": "This model is optimized for local execution on devices with GPU (NVIDIA CUDA) hardware acceleration using Foundry Local." + "text": "See Hugging Face model " + }, + { + "kind": "href", + "text": "Qwen2.5-7B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen2.5-7B-Instruct" + }, + { + "kind": "text", + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen25Coder05b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen25Coder05b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized version of Qwen2.5-Coder-0.5B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -15877,7 +14773,7 @@ "children": [ { "kind": "text", - "text": "Capabilities" + "text": "Model Description" } ] }, @@ -15892,7 +14788,11 @@ "children": [ { "kind": "text", - "text": "Text retrieval and semantic search" + "text": "Developed by:" + }, + { + "kind": "text", + "text": " Microsoft" } ] } @@ -15905,7 +14805,11 @@ "children": [ { "kind": "text", - "text": "Code retrieval" + "text": "Model type:" + }, + { + "kind": "text", + "text": " ONNX" } ] } @@ -15918,7 +14822,11 @@ "children": [ { "kind": "text", - "text": "Text classification and clustering" + "text": "License:" + }, + { + "kind": "text", + "text": " apache-2.0" } ] } @@ -15931,7 +14839,11 @@ "children": [ { "kind": "text", - "text": "Bitext mining" + "text": "Model Description:" + }, + { + "kind": "text", + "text": " This is a conversion of the Qwen2.5-Coder-0.5B-Instruct for local inference." } ] } @@ -15944,7 +14856,11 @@ "children": [ { "kind": "text", - "text": "Multilingual and cross-lingual retrieval" + "text": "Disclaimer:" + }, + { + "kind": "text", + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -15957,7 +14873,7 @@ "children": [ { "kind": "text", - "text": "License" + "text": "Base Model Information" } ] }, @@ -15966,49 +14882,16 @@ "children": [ { "kind": "text", - "text": "This model is licensed under Apache 2.0. See " + "text": "See Hugging Face model " }, { "kind": "href", - "text": "license details", - "value": "https://huggingface.co/Qwen/Qwen3-Embedding-8B/blob/main/LICENSE" + "text": "Qwen2.5-Coder-0.5B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen2.5-Coder-0.5B-Instruct" }, { "kind": "text", - "text": "." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Source" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "HuggingFace: " - }, - { - "kind": "href", - "text": "Qwen3-Embedding-8B", - "value": "https://huggingface.co/Qwen/Qwen3-Embedding-8B" - } - ] - } - ] + "text": " for details." } ] } @@ -16017,10 +14900,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen3Vl2bInstruct", + "name": "Qwen25Coder14b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen3Vl2bInstruct", + "signature": "public static readonly FoundryModel Local.Qwen25Coder14b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -16031,7 +14914,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3-VL-2B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Qwen2.5-Coder-14B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -16110,7 +14993,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3-VL-2B-Instruct for local inference." + "text": " This is a conversion of the Qwen2.5-Coder-14B-Instruct for local inference." } ] } @@ -16153,8 +15036,8 @@ }, { "kind": "href", - "text": "Qwen3-VL-2B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen3-VL-2B-Instruct" + "text": "Qwen2.5-Coder-14B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen2.5-Coder-14B-Instruct" }, { "kind": "text", @@ -16167,10 +15050,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen3Vl4bInstruct", + "name": "Qwen25Coder15b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen3Vl4bInstruct", + "signature": "public static readonly FoundryModel Local.Qwen25Coder15b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -16181,7 +15064,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3-VL-4B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Qwen2.5-Coder-1.5B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -16260,7 +15143,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3-VL-4B-Instruct for local inference." + "text": " This is a conversion of the Qwen2.5-Coder-1.5B-Instruct for local inference." } ] } @@ -16303,8 +15186,8 @@ }, { "kind": "href", - "text": "Qwen3-VL-4B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct" + "text": "Qwen2.5-Coder-1.5B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen2.5-Coder-1.5B-Instruct" }, { "kind": "text", @@ -16317,10 +15200,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Qwen3Vl8bInstruct", + "name": "Qwen25Coder3b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Qwen3Vl8bInstruct", + "signature": "public static readonly FoundryModel Local.Qwen25Coder3b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -16331,7 +15214,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of Qwen3-VL-8B-Instruct to enable local inference. This model uses RTN quantization." + "text": "This model is an optimized version of Qwen2.5-Coder-3B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -16410,7 +15293,7 @@ }, { "kind": "text", - "text": " This is a conversion of the Qwen3-VL-8B-Instruct for local inference." + "text": " This is a conversion of the Qwen2.5-Coder-3B-Instruct for local inference." } ] } @@ -16453,8 +15336,8 @@ }, { "kind": "href", - "text": "Qwen3-VL-8B-Instruct", - "value": "https://huggingface.co/Qwen/Qwen3-VL-8B-Instruct" + "text": "Qwen2.5-Coder-3B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen2.5-Coder-3B-Instruct" }, { "kind": "text", @@ -16467,10 +15350,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "Smollm33b", + "name": "Qwen25Coder7b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Local.Smollm33b", + "signature": "public static readonly FoundryModel Local.Qwen25Coder7b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -16481,7 +15364,7 @@ "children": [ { "kind": "text", - "text": "This model is an optimized version of SmolLM3-3B to enable local inference. This model uses GPTQ quantization." + "text": "This model is an optimized version of Qwen2.5-Coder-7B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -16560,7 +15443,7 @@ }, { "kind": "text", - "text": " This is a conversion of the SmolLM3-3B for local inference." + "text": " This is a conversion of the Qwen2.5-Coder-7B-Instruct for local inference." } ] } @@ -16603,8 +15486,8 @@ }, { "kind": "href", - "text": "SmolLM3-3B", - "value": "https://huggingface.co/HuggingFaceTB/SmolLM3-3B" + "text": "Qwen2.5-Coder-7B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct" }, { "kind": "text", @@ -16615,178 +15498,12 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" - } - ] - }, - { - "name": "Meta", - "fullName": "Aspire.Hosting.Foundry.FoundryModel.Meta", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isStatic": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Models published by Meta. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", - "sourceLines": "229-229", - "members": [ - { - "name": "Llama3211BVisionInstruct", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Meta.Llama3211BVisionInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Excels in image reasoning capabilities on high-res images for visual understanding apps. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Llama3290BVisionInstruct", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Meta.Llama3290BVisionInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Advanced image reasoning capabilities for visual understanding agentic apps. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Llama3370BInstruct", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Meta.Llama3370BInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Llama 3.3 70B Instruct offers enhanced reasoning, math, and instruction following with performance comparable to Llama 3.1 405B. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Llama4Maverick17B128EInstructFP8", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Meta.Llama4Maverick17B128EInstructFP8", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Llama 4 Maverick 17B 128E Instruct FP8 is great at precise image understanding and creative writing, offering high quality at a lower price compared to Llama 3.3 70B " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Llama4Scout17B16EInstruct", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Meta.Llama4Scout17B16EInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Llama 4 Scout 17B 16E Instruct is great at multi-document summarization, parsing extensive user activity for personalized tasks, and reasoning over vast codebases. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MetaLlama31405BInstruct", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Meta.MetaLlama31405BInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The Llama 3.1 instruction tuned text only models are optimized for multilingual dialogue use cases and outperform many of the available open source and closed chat models on common industry benchmarks. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "MetaLlama318BInstruct", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Meta.MetaLlama318BInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " The Llama 3.1 instruction tuned text only models are optimized for multilingual dialogue use cases and outperform many of the available open source and closed chat models on common industry benchmarks. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - } - ] - }, - { - "name": "Microsoft", - "fullName": "Aspire.Hosting.Foundry.FoundryModel.Microsoft", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isStatic": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Models published by Microsoft. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", - "sourceLines": "277-277", - "members": [ - { - "name": "AzureAIContentSafety", + "name": "Qwen306b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureAIContentSafety", + "signature": "public static readonly FoundryModel Local.Qwen306b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -16797,25 +15514,7 @@ "children": [ { "kind": "text", - "text": "Azure AI Content Safety" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Introduction" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Azure AI Content Safety is a safety system for monitoring content generated by both foundation models and humans. Detect and block potential risks, threats, and quality problems. You can build an advanced safety system for foundation models to detect and mitigate harmful content and risks in user prompts and AI-generated outputs. Use Prompt Shields to detect and block prompt injection attacks, groundedness detection to pinpoint ungrounded or hallucinated materials, and protected material detection to identify copyrighted or owned content." + "text": "This model is an optimized version of Qwen3-0.6B to enable local inference. This model uses KLD Gradient quantization." } ] }, @@ -16824,7 +15523,7 @@ "children": [ { "kind": "text", - "text": "Core Features" + "text": "Model Description" } ] }, @@ -16839,47 +15538,11 @@ "children": [ { "kind": "text", - "text": "Block harmful input and output" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": Detect and block violence, hate, sexual, and self-harm content for both text, images and multimodal. Configure severity thresholds for your specific use case and adhere to your responsible AI policies." - } - ] - } - ] + "text": "Developed by:" }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - }, - { - "kind": "text", - "text": ": Violence, hate, sexual, and self-harm content detection. Custom blocklist." - } - ] - } - ] + "kind": "text", + "text": " Microsoft" } ] } @@ -16892,47 +15555,11 @@ "children": [ { "kind": "text", - "text": "Policy customization with custom categories" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": Create unique content filters tailored to your requirements using custom categories. Quickly train a new custom category by providing examples of content you need to block." - } - ] - } - ] + "text": "Model type:" }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - }, - { - "kind": "text", - "text": ": Custom categories" - } - ] - } - ] + "kind": "text", + "text": " ONNX" } ] } @@ -16945,47 +15572,11 @@ "children": [ { "kind": "text", - "text": "Identify the security risks" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": Safeguard your AI applications against prompt injection attacks and jailbreak attempts. Identify and mitigate both direct and indirect threats with prompt shields." - } - ] - } - ] + "text": "License:" }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - }, - { - "kind": "text", - "text": ": Direct jailbreak attack, indirect prompt injection from docs." - } - ] - } - ] + "kind": "text", + "text": " apache-2.0" } ] } @@ -16998,47 +15589,11 @@ "children": [ { "kind": "text", - "text": "Detect and correct Gen AI hallucinations" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": Identify and correct generative AI hallucinations and ensure outputs are reliable, accurate, and grounded in data with groundedness detection." - } - ] - } - ] + "text": "Model Description:" }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - }, - { - "kind": "text", - "text": ": Groundedness detection, reasoning, and correction." - } - ] - } - ] + "kind": "text", + "text": " This is a conversion of the Qwen3-0.6B for local inference." } ] } @@ -17051,47 +15606,11 @@ "children": [ { "kind": "text", - "text": "Identify protected material" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": Pinpoint copyrighted content and provide sources for preexisting text and code with protected material detection." - } - ] - } - ] + "text": "Disclaimer:" }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - }, - { - "kind": "text", - "text": ": Protected material for code, protected material for text" - } - ] - } - ] + "kind": "text", + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -17104,7 +15623,57 @@ "children": [ { "kind": "text", - "text": "Use Cases" + "text": "Base Model Information" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "See Hugging Face model " + }, + { + "kind": "href", + "text": "Qwen3-0.6B", + "value": "https://huggingface.co/Qwen/Qwen3-0.6B" + }, + { + "kind": "text", + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen314b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen314b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized version of Qwen3-14B to enable local inference. This model uses GPTQ quantization." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Model Description" } ] }, @@ -17119,20 +15688,11 @@ "children": [ { "kind": "text", - "text": "Generative AI services screen user-submitted prompts and generated outputs to ensure safe and appropriate content." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ + "text": "Developed by:" + }, { "kind": "text", - "text": "Online marketplaces monitor and filter product listings and other user-generated content to prevent harmful or inappropriate material." + "text": " Microsoft" } ] } @@ -17145,7 +15705,11 @@ "children": [ { "kind": "text", - "text": "Gaming platforms manage and moderate user-created game content and in-game communication to maintain a safe environment." + "text": "Model type:" + }, + { + "kind": "text", + "text": " ONNX" } ] } @@ -17158,7 +15722,11 @@ "children": [ { "kind": "text", - "text": "Social media platforms review and regulate user-uploaded images and posts to enforce community standards and prevent harmful content." + "text": "License:" + }, + { + "kind": "text", + "text": " apache-2.0" } ] } @@ -17171,7 +15739,11 @@ "children": [ { "kind": "text", - "text": "Enterprise media companies implement centralized content moderation systems to ensure the safety and appropriateness of their published materials." + "text": "Model Description:" + }, + { + "kind": "text", + "text": " This is a conversion of the Qwen3-14B for local inference." } ] } @@ -17184,7 +15756,11 @@ "children": [ { "kind": "text", - "text": "K-12 educational technology providers filter out potentially harmful or inappropriate content to create a safe learning environment for students and educators." + "text": "Disclaimer:" + }, + { + "kind": "text", + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -17197,7 +15773,57 @@ "children": [ { "kind": "text", - "text": "Benefits" + "text": "Base Model Information" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "See Hugging Face model " + }, + { + "kind": "href", + "text": "Qwen3-14B", + "value": "https://huggingface.co/Qwen/Qwen3-14B" + }, + { + "kind": "text", + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen317b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen317b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized version of Qwen3-1.7B to enable local inference. This model uses KLD Gradient quantization." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Model Description" } ] }, @@ -17212,11 +15838,11 @@ "children": [ { "kind": "text", - "text": "No ML experience required" + "text": "Developed by:" }, { "kind": "text", - "text": ": Incorporate content safety features into your projects with no machine learning experience required." + "text": " Microsoft" } ] } @@ -17229,11 +15855,11 @@ "children": [ { "kind": "text", - "text": "Effortlessly customize your RAI policies" + "text": "Model type:" }, { "kind": "text", - "text": ": Customizing your content safety classifiers can be done with one line of description, a few samples using Custom Categories." + "text": " ONNX" } ] } @@ -17246,11 +15872,11 @@ "children": [ { "kind": "text", - "text": "State of the art models" + "text": "License:" }, { "kind": "text", - "text": ": ready for use APIs, SOTA models, and flexible deployment options reduce the need for ongoing manual training or extensive customization. Microsoft has a science team and policy experts working on the frontier of Gen AI to constantly improve the safety and security models to ensure our customers can develop and deploy generative AI safely and responsibly." + "text": " apache-2.0" } ] } @@ -17263,11 +15889,11 @@ "children": [ { "kind": "text", - "text": "Global Reach" + "text": "Model Description:" }, { "kind": "text", - "text": ": Support more than 100 languages, enabling businesses to communicate effectively with customers, partners, and employees worldwide." + "text": " This is a conversion of the Qwen3-1.7B for local inference." } ] } @@ -17280,16 +15906,81 @@ "children": [ { "kind": "text", - "text": "Scalable and Reliable" + "text": "Disclaimer:" }, { "kind": "text", - "text": ": Built on Azure's cloud infrastructure, the Azure AI Content Safety service scales automatically to meet demand, from small business applications to global enterprise workloads." + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Base Model Information" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "See Hugging Face model " + }, + { + "kind": "href", + "text": "Qwen3-1.7B", + "value": "https://huggingface.co/Qwen/Qwen3-1.7B" }, + { + "kind": "text", + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen34b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen34b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized version of Qwen3-4B to enable local inference. This model uses KLD Gradient quantization." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Model Description" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ { "description": [ { @@ -17297,11 +15988,11 @@ "children": [ { "kind": "text", - "text": "Security and Compliance" + "text": "Developed by:" }, { "kind": "text", - "text": ": Azure AI Content Safety runs on Azure's secure cloud infrastructure, ensuring data privacy and compliance with global standards. User data is not stored after the translation process." + "text": " Microsoft" } ] } @@ -17314,31 +16005,16 @@ "children": [ { "kind": "text", - "text": "Flexible deployment" + "text": "Model type:" }, { "kind": "text", - "text": ": Azure AI Content Safety can be deployed on cloud, on premises and on devices." + "text": " ONNX" } ] } ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Technical Details" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ + }, { "description": [ { @@ -17346,79 +16022,11 @@ "children": [ { "kind": "text", - "text": "Deployment" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Container for on-premise deployment" - }, - { - "kind": "text", - "text": ": " - }, - { - "kind": "href", - "text": "Content safety containers overview - Azure AI Content Safety - Azure AI services | Microsoft Learn", - "value": "https://learn.microsoft.com/azure/ai-services/content-safety/how-to/containers/container-overview" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Embedded Content Safety" - }, - { - "kind": "text", - "text": ": " - }, - { - "kind": "href", - "text": "Embedded Content Safety - Azure AI Content Safety - Azure AI services | Microsoft Learn", - "value": "https://learn.microsoft.com/azure/ai-services/content-safety/how-to/embedded-content-safety?tabs=windows-target%2Ctext" - } - ] - } - ] + "text": "License:" }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Cloud" - }, - { - "kind": "text", - "text": ": " - }, - { - "kind": "href", - "text": "Azure AI Content Safety documentation - Quickstarts, Tutorials, API Reference - Azure AI services | Microsoft Learn", - "value": "https://learn.microsoft.com/azure/ai-services/content-safety/" - } - ] - } - ] + "kind": "text", + "text": " apache-2.0" } ] } @@ -17431,20 +16039,11 @@ "children": [ { "kind": "text", - "text": "Requirements" - }, - { - "kind": "text", - "text": ": Requirements vary feature by feature, for more details, refer to the Azure AI Content Safety documentation: " - }, - { - "kind": "href", - "text": "Azure AI Content Safety documentation - Quickstarts, Tutorials, API Reference - Azure AI services | Microsoft Learn", - "value": "https://learn.microsoft.com/azure/ai-services/content-safety/" + "text": "Model Description:" }, { "kind": "text", - "text": "." + "text": " This is a conversion of the Qwen3-4B for local inference." } ] } @@ -17457,20 +16056,11 @@ "children": [ { "kind": "text", - "text": "Support" + "text": "Disclaimer:" }, { "kind": "text", - "text": ": Azure AI Content Safety is part of Azure AI Services. Support options for AI Services can be found here: " - }, - { - "kind": "href", - "text": "Azure AI services support and help options - Azure AI services | Microsoft Learn", - "value": "https://learn.microsoft.com/azure/ai-services/cognitive-services-support-options?context=%2Fazure%2Fai-services%2Fcontent-safety%2Fcontext%2Fcontext" - }, - { - "kind": "text", - "text": "." + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -17483,7 +16073,7 @@ "children": [ { "kind": "text", - "text": "Pricing" + "text": "Base Model Information" } ] }, @@ -17492,28 +16082,28 @@ "children": [ { "kind": "text", - "text": "Explore pricing options here: " + "text": "See Hugging Face model " }, { "kind": "href", - "text": "Azure AI Content Safety - Pricing | Microsoft Azure", - "value": "https://azure.microsoft.com/pricing/details/cognitive-services/content-safety/" + "text": "Qwen3-4B", + "value": "https://huggingface.co/Qwen/Qwen3-4B" }, { "kind": "text", - "text": "." + "text": " for details." } ] } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "AzureAIContentUnderstanding", + "name": "Qwen3508b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureAIContentUnderstanding", + "signature": "public static readonly FoundryModel Local.Qwen3508b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -17524,25 +16114,7 @@ "children": [ { "kind": "text", - "text": "Azure AI Content Understanding" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Introduction" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Azure AI Content Understanding empowers you to transform unstructured multimodal data—such as text, images, audio, and video—into structured, actionable insights. By streamlining content processing with advanced AI techniques like schema extraction and grounding, it delivers accurate structured data for downstream applications. Offering prebuilt templates for common use cases and customizable models, it helps you unify diverse data types into a single, efficient pipeline, optimizing workflows and accelerating time to value." + "text": "This model is an optimized version of Qwen3.5-0.8B to enable local inference. This model uses RTN quantization." } ] }, @@ -17551,7 +16123,7 @@ "children": [ { "kind": "text", - "text": "Core Features" + "text": "Model Description" } ] }, @@ -17566,11 +16138,11 @@ "children": [ { "kind": "text", - "text": "Multimodal data ingestion" + "text": "Developed by:" }, { "kind": "text", - "text": "Ingest a range of modalities such as documents, images, audio, or video. Use a variety of AI models to convert the input data into a structured format that can be easily processed and analyzed by downstream services or applications." + "text": " Microsoft" } ] } @@ -17583,11 +16155,11 @@ "children": [ { "kind": "text", - "text": "Customizable output schemas" + "text": "Model type:" }, { "kind": "text", - "text": "Customize the schemas of extracted results to meet your specific needs. Tailor the format and structure of summaries, insights, or features to include only the most relevant details—such as key points or timestamps—from video or audio files." + "text": " ONNX" } ] } @@ -17600,11 +16172,11 @@ "children": [ { "kind": "text", - "text": "Confidence scores" + "text": "License:" }, { "kind": "text", - "text": " Leverage confidence scores to minimize human intervention and continuously improve accuracy through user feedback." + "text": " apache-2.0" } ] } @@ -17617,11 +16189,11 @@ "children": [ { "kind": "text", - "text": "Output ready for downstream applications" + "text": "Model Description:" }, { "kind": "text", - "text": "Automate business processes by building enterprise AI apps or agentic workflows. Use outputs that downstream applications can consume for reasoning with retrieval-augmented generation (RAG)." + "text": " This is a conversion of the Qwen3.5-0.8B for local inference." } ] } @@ -17634,32 +16206,65 @@ "children": [ { "kind": "text", - "text": "Grounding" + "text": "Disclaimer:" }, { "kind": "text", - "text": " Ensure the information extracted, inferred, or abstracted is represented in the underlying content." + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Base Model Information" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "See Hugging Face model " }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Automatic labeling" - }, - { - "kind": "text", - "text": " Save time and effort on manual annotation and create models quicker by using large language models (LLMs) to extract fields from various document types." - } - ] - } - ] + "kind": "href", + "text": "Qwen3.5-0.8B", + "value": "https://huggingface.co/Qwen/Qwen3.5-0.8B" + }, + { + "kind": "text", + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen352b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen352b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized version of Qwen3.5-2B to enable local inference. This model uses RTN quantization." } ] }, @@ -17668,7 +16273,7 @@ "children": [ { "kind": "text", - "text": "Use Cases" + "text": "Model Description" } ] }, @@ -17683,11 +16288,11 @@ "children": [ { "kind": "text", - "text": "Post-call analytics for call centers" + "text": "Developed by:" }, { "kind": "text", - "text": ": Generate insights from call recordings, track key performance indicators (KPIs), and answer customer questions more accurately and efficiently." + "text": " Microsoft" } ] } @@ -17700,11 +16305,11 @@ "children": [ { "kind": "text", - "text": "Tax process automation" + "text": "Model type:" }, { "kind": "text", - "text": ": Streamline the tax return process by extracting data from tax forms to create a consolidated view of information across various documents." + "text": " ONNX" } ] } @@ -17717,11 +16322,11 @@ "children": [ { "kind": "text", - "text": "Media asset management" + "text": "License:" }, { "kind": "text", - "text": ": Extract features from images and videos to provide richer tools for targeted content and enhance media asset management solutions." + "text": " apache-2.0" } ] } @@ -17734,11 +16339,28 @@ "children": [ { "kind": "text", - "text": "Chart understanding" + "text": "Model Description:" }, { "kind": "text", - "text": ": Enhance chart understanding by automating the analysis and interpretation of various types of charts and diagrams using Content Understanding." + "text": " This is a conversion of the Qwen3.5-2B for local inference." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Disclaimer:" + }, + { + "kind": "text", + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -17751,7 +16373,57 @@ "children": [ { "kind": "text", - "text": "Benefits" + "text": "Base Model Information" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "See Hugging Face model " + }, + { + "kind": "href", + "text": "Qwen3.5-2B", + "value": "https://huggingface.co/Qwen/Qwen3.5-2B" + }, + { + "kind": "text", + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen352bText", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen352bText", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized text-only version of Qwen3.5-2B to enable local inference with CUDA. This model uses RTN quantization." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Model Description" } ] }, @@ -17766,11 +16438,11 @@ "children": [ { "kind": "text", - "text": "Streamline workflows" + "text": "Developed by:" }, { "kind": "text", - "text": ": Azure AI Content Understanding standardizes the extraction of content, structure, and insights from various content types into a unified process." + "text": " Microsoft" } ] } @@ -17783,11 +16455,11 @@ "children": [ { "kind": "text", - "text": "Simplify field extraction" + "text": "Model type:" }, { "kind": "text", - "text": ": Field extraction in Content Understanding makes it easier to generate structured output from unstructured content. Define a schema to extract, classify, or generate field values with no complex prompt engineering." + "text": " ONNX" } ] } @@ -17800,11 +16472,11 @@ "children": [ { "kind": "text", - "text": "Enhance accuracy" + "text": "License:" }, { "kind": "text", - "text": ": Content Understanding employs multiple AI models to analyze and cross-validate information simultaneously, resulting in more accurate and reliable results." + "text": " apache-2.0" } ] } @@ -17817,11 +16489,28 @@ "children": [ { "kind": "text", - "text": "Confidence scores & grounding" + "text": "Model Description:" }, { "kind": "text", - "text": ": Content Understanding ensures the accuracy of extracted values while minimizing the cost of human review." + "text": " This is a conversion of the Qwen3.5-2B text model for local inference with CUDA." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Disclaimer:" + }, + { + "kind": "text", + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -17834,35 +16523,76 @@ "children": [ { "kind": "text", - "text": "Technical Details" + "text": "Base Model Information" } ] }, { - "kind": "list", - "style": "bullet", - "items": [ + "kind": "para", + "children": [ { - "description": [ - { + "kind": "text", + "text": "See Hugging Face model " + }, + { + "kind": "href", + "text": "Qwen3.5-2B", + "value": "https://huggingface.co/Qwen/Qwen3.5-2B" + }, + { + "kind": "text", + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen354b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen354b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized version of Qwen3.5-4B to enable local inference. This model uses RTN quantization." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Model Description" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { "kind": "para", "children": [ { "kind": "text", - "text": "Deployment" - }, - { - "kind": "text", - "text": ": Deployment options may vary by service, reference the following docs for more information: " - }, - { - "kind": "href", - "text": "Create a Microsoft Foundry resource", - "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/how-to/create-multi-service-resource" + "text": "Developed by:" }, { "kind": "text", - "text": "." + "text": " Microsoft" } ] } @@ -17875,20 +16605,28 @@ "children": [ { "kind": "text", - "text": "Requirements" + "text": "Model type:" }, { "kind": "text", - "text": ": Requirements may vary depending on the input data you are analyzing, reference the following docs for more information: " - }, + "text": " ONNX" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { - "kind": "href", - "text": "Service quotas and limits", - "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/service-limits" + "kind": "text", + "text": "License:" }, { "kind": "text", - "text": "." + "text": " apache-2.0" } ] } @@ -17901,20 +16639,28 @@ "children": [ { "kind": "text", - "text": "Support" + "text": "Model Description:" }, { "kind": "text", - "text": ": Support options for AI Services can be found here: " - }, + "text": " This is a conversion of the Qwen3.5-4B for local inference." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { - "kind": "href", - "text": "Azure AI services support and help options", - "value": "https://learn.microsoft.com/en-us/azure/ai-services/cognitive-services-support-options?view=doc-intel-4.0.0" + "kind": "text", + "text": "Disclaimer:" }, { "kind": "text", - "text": "." + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -17927,7 +16673,7 @@ "children": [ { "kind": "text", - "text": "Pricing" + "text": "Base Model Information" } ] }, @@ -17936,28 +16682,28 @@ "children": [ { "kind": "text", - "text": "View up-to-date pay-as-you-go pricing details here: " + "text": "See Hugging Face model " }, { "kind": "href", - "text": "Azure AI Content Understanding pricing", - "value": "https://azure.microsoft.com/en-us/pricing/details/content-understanding/" + "text": "Qwen3.5-4B", + "value": "https://huggingface.co/Qwen/Qwen3.5-4B" }, { "kind": "text", - "text": "." + "text": " for details." } ] } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "AzureAIDocumentIntelligence", + "name": "Qwen359b", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureAIDocumentIntelligence", + "signature": "public static readonly FoundryModel Local.Qwen359b", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -17968,16 +16714,7 @@ "children": [ { "kind": "text", - "text": "Azure AI Document Intelligence" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Document Intelligence is a cloud-based service that enables you to build intelligent document processing solutions. Massive amounts of data, spanning a wide variety of data types, are stored in forms and documents. Document Intelligence enables you to effectively manage the velocity at which data is collected and processed and is key to improved operations, informed data-driven decisions, and enlightened innovation." + "text": "This model is an optimized version of Qwen3.5-9B to enable local inference. This model uses RTN quantization." } ] }, @@ -17986,7 +16723,7 @@ "children": [ { "kind": "text", - "text": "Core Features" + "text": "Model Description" } ] }, @@ -18001,75 +16738,28 @@ "children": [ { "kind": "text", - "text": "General extraction models" + "text": "Developed by:" + }, + { + "kind": "text", + "text": " Microsoft" } ] - }, + } + ] + }, + { + "description": [ { - "kind": "list", - "style": "bullet", - "items": [ + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": General extraction models enable text extraction from forms and documents and return structured business-ready content ready for your organization's action, use, or development." - } - ] - } - ] + "kind": "text", + "text": "Model type:" }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Read model allows you to extract written or printed text liens, words, locations, and detected languages." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Layout model, on top of text extraction, extracts structural information like tables, selection marks, paragraphs, titles, headings, and subheadings. Layout model can also output the extraction results in a Markdown format, enabling you to define your semantic chunking strategy based on provided building blocks, allowing for easier RAG (Retrieval Augmented Generation)." - } - ] - } - ] - } - ] - } - ] + "kind": "text", + "text": " ONNX" } ] } @@ -18082,117 +16772,28 @@ "children": [ { "kind": "text", - "text": "Prebuilt models" + "text": "License:" + }, + { + "kind": "text", + "text": " apache-2.0" } ] - }, + } + ] + }, + { + "description": [ { - "kind": "list", - "style": "bullet", - "items": [ + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": Prebuilt models enable you to add intelligent document processing to your apps and flows without having to train and build your own models. Prebuilt models extract a pre-defined set of fields depending on the document type." - } - ] - } - ] + "kind": "text", + "text": "Model Description:" }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Financial Services and Legal Documents" - }, - { - "kind": "text", - "text": ": Credit Cards, Bank Statement, Pay Slip, Check, Invoices, Receipts, Contracts." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "US Tax Documents" - }, - { - "kind": "text", - "text": ": Unified Tax, W-2, 1099 Combo, 1040 (multiple variations), 1098 (multiple variations), 1099 (multiple variations)." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "US Mortgage Documents" - }, - { - "kind": "text", - "text": ": 1003, 1004, 1005, 1008, Closing Disclosure." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Personal Identification Documents" - }, - { - "kind": "text", - "text": ": Identity Documents, Health Insurance Cards, Marriage Certificates." - } - ] - } - ] - } - ] - } - ] + "kind": "text", + "text": " This is a conversion of the Qwen3.5-9B for local inference." } ] } @@ -18205,305 +16806,11 @@ "children": [ { "kind": "text", - "text": "Custom models" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": Custom models are trained using your labeled datasets to extract distinct data from forms and documents, specific to your use cases. Standalone custom models can be combined to create composed models." - } - ] - } - ] + "text": "Disclaimer:" }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Document field extraction models" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Custom generative" - }, - { - "kind": "text", - "text": ": Build a custom extraction model using generative AI for documents with unstructured format and varying templates." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Custom neural" - }, - { - "kind": "text", - "text": ": Extract data from mixed-type documents." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Custom template" - }, - { - "kind": "text", - "text": ": Extract data from static layouts." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Custom composed" - }, - { - "kind": "text", - "text": ": Extract data using a collection of models. Explicitly choose the classifier and enable confidence-based routing based on the threshold you set." - } - ] - } - ] - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Custom classification models" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Custom classifier" - }, - { - "kind": "text", - "text": ": Identify designated document types (classes) before invoking an extraction model." - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Add-on capabilities" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": Use the add-on features to extend the results to include more features extracted from your documents. Some add-on features incur an extra cost. These optional features can be enabled and disabled depending on the scenario of the document extraction." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "High resolution extraction" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Formula extraction" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Font extraction" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Barcode extraction" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Language detection" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Searchable PDF output" - } - ] - } - ] - } - ] - } - ] + "kind": "text", + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -18516,48 +16823,64 @@ "children": [ { "kind": "text", - "text": "Use Cases" + "text": "Base Model Information" } ] }, { - "kind": "list", - "style": "bullet", - "items": [ + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Accounts payable" - }, - { - "kind": "text", - "text": ": A company can increase the efficiency of its accounts payable clerks by using the prebuilt invoice model and custom forms to speed up invoice data entry with a human in the loop. The prebuilt invoice model can extract key fields, such as Invoice Total and Shipping Address." - } - ] - } - ] + "kind": "text", + "text": "See Hugging Face model " }, { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Insurance form processing" - }, - { - "kind": "text", - "text": ": A customer can train a model by using custom forms to extract a key-value pair in insurance forms and then feeds the data to their business flow to improve the accuracy and efficiency of their process. For their unique forms, customers can build their own model that extracts key values by using custom forms. These extracted values then become actionable data for various workflows within their business." - } - ] - } - ] + "kind": "href", + "text": "Qwen3.5-9B", + "value": "https://huggingface.co/Qwen/Qwen3.5-9B" }, + { + "kind": "text", + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen38b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen38b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized version of Qwen3-8B to enable local inference. This model uses KLD Gradient quantization." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Model Description" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ { "description": [ { @@ -18565,11 +16888,11 @@ "children": [ { "kind": "text", - "text": "Bank form processing" + "text": "Developed by:" }, { "kind": "text", - "text": ": A bank can use the prebuilt ID model and custom forms to speed up the data entry for \"know your customer\" documentation, or to speed up data entry for a mortgage packet. If a bank requires their customers to submit personal identification as part of a process, the prebuilt ID model can extract key values, such as Name and Document Number, speeding up the overall time for data entry." + "text": " Microsoft" } ] } @@ -18582,31 +16905,16 @@ "children": [ { "kind": "text", - "text": "Robotic process automation (RPA)" + "text": "Model type:" }, { "kind": "text", - "text": ": Using the custom extraction model, customers can extract specific data needed from distinct types of documents. The key-value pair extracted can then be entered into various systems such as databases, or CRM systems, through RPA, replacing manual data entry. Customers can also use custom classification model to categorize documents based on their content and file them in proper location. As such, an organized set of data extracted from the custom model can be an essential first step to document RPA scenarios for businesses that manage large volumes of documents regularly." + "text": " ONNX" } ] } ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Benefits" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ + }, { "description": [ { @@ -18614,11 +16922,11 @@ "children": [ { "kind": "text", - "text": "No experience required" + "text": "License:" }, { "kind": "text", - "text": ": Incorporate Document Intelligence features into your projects with no machine learning experience required." + "text": " apache-2.0" } ] } @@ -18631,11 +16939,11 @@ "children": [ { "kind": "text", - "text": "Effortlessly customize your models" + "text": "Model Description:" }, { "kind": "text", - "text": ": Training your own custom extraction and classification model can be done with as little as one document labeled, making it easy to train your own models." + "text": " This is a conversion of the Qwen3-8B for local inference." } ] } @@ -18648,11 +16956,11 @@ "children": [ { "kind": "text", - "text": "State of the art models" + "text": "Disclaimer:" }, { "kind": "text", - "text": ": ready for use APIs, constantly enhanced models, and flexible deployment options reduce the need for ongoing manual training or extensive customization." + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -18665,44 +16973,119 @@ "children": [ { "kind": "text", - "text": "Technical Details:" + "text": "Base Model Information" } ] }, { - "kind": "list", - "style": "bullet", - "items": [ + "kind": "para", + "children": [ { - "description": [ + "kind": "text", + "text": "See Hugging Face model " + }, + { + "kind": "href", + "text": "Qwen3-8B", + "value": "https://huggingface.co/Qwen/Qwen3-8B" + }, + { + "kind": "text", + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen3Embedding06b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen3Embedding06b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Qwen3 Embedding 0.6B Cuda Gpu" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This is the GPU (NVIDIA CUDA)-optimized variant of qwen3-embedding-0.6b, a text embedding model from the Qwen3 family developed by Alibaba Cloud and optimized by Microsoft." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Model Details" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ { "kind": "para", "children": [ { "kind": "text", - "text": "Deployment" + "text": "Model Type" }, { "kind": "text", - "text": ": Deployment options may vary by service, reference the following docs for more information: " - }, + "text": ": Text Embedding (ONNX)" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { - "kind": "href", - "text": "Use Document Intelligence models", - "value": "https://learn.microsoft.com/azure/ai-services/document-intelligence/how-to-guides/use-sdk-rest-api?view=doc-intel-3.1.0&tabs=linux&pivots=programming-language-rest-api" + "kind": "text", + "text": "Parameters" }, { "kind": "text", - "text": " and " - }, + "text": ": 0.6 billion" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { - "kind": "href", - "text": "Install and run containers", - "value": "https://learn.microsoft.com/azure/ai-services/document-intelligence/containers/install-run?view=doc-intel-4.0.0&tabs=read" + "kind": "text", + "text": "Context Length" }, { "kind": "text", - "text": "." + "text": ": 32K tokens" } ] } @@ -18715,20 +17098,28 @@ "children": [ { "kind": "text", - "text": "Requirements" + "text": "Embedding Dimension" }, { "kind": "text", - "text": ": Requirements may vary slightly depending on the model you are using to analyze the documents. Reference the following docs for more information: " - }, + "text": ": Up to 1024" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { - "kind": "href", - "text": "Service quotas and limits", - "value": "https://learn.microsoft.com/azure/ai-services/document-intelligence/service-limits?view=doc-intel-4.0.0" + "kind": "text", + "text": "Quantization" }, { "kind": "text", - "text": "." + "text": ": KLD Gradient quantization" } ] } @@ -18741,74 +17132,49 @@ "children": [ { "kind": "text", - "text": "Support" + "text": "Target Device" }, { "kind": "text", - "text": ": Support options for AI Services can be found here: " - }, + "text": ": GPU (NVIDIA CUDA)" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { - "kind": "href", - "text": "Azure AI services support and help options - Azure AI services | Microsoft Learn", - "value": "https://learn.microsoft.com/azure/ai-services/cognitive-services-support-options?context=%2Fazure%2Fai-services%2Fdocument-intelligence%2Fcontext%2Fcontext&view=doc-intel-4.0.0" + "kind": "text", + "text": "Execution Provider" }, { "kind": "text", - "text": "." + "text": ": CUDAExecutionProvider" } ] } ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Pricing" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "View up-to-date pricing information for the pay-as-you-go pricing model here: " - }, - { - "kind": "href", - "text": "Azure AI Document Intelligence pricing", - "value": "https://azure.microsoft.com/pricing/details/ai-document-intelligence/" }, { - "kind": "text", - "text": "." - } - ] - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "AzureAIVision", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureAIVision", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Azure AI Vision" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Supported Languages" + }, + { + "kind": "text", + "text": ": 100+" + } + ] + } + ] } ] }, @@ -18817,7 +17183,7 @@ "children": [ { "kind": "text", - "text": "Introduction" + "text": "Intended Use" } ] }, @@ -18826,7 +17192,7 @@ "children": [ { "kind": "text", - "text": "The Azure AI Vision service gives you access to advanced algorithms that process images and videos and return insights based on the visual features and content you are interested in. Azure AI Vision can power a diverse set of scenarios, including digital asset management, video content search & summary, identity verification, generating accessible alt-text for images, and many more. The key product categories for Azure AI Vision include Video Analysis, Image Analysis, Face, and Optical Character Recognition." + "text": "This model is optimized for local execution on devices with GPU (NVIDIA CUDA) hardware acceleration using Foundry Local." } ] }, @@ -18835,7 +17201,7 @@ "children": [ { "kind": "text", - "text": "Core Features" + "text": "Capabilities" } ] }, @@ -18850,47 +17216,7 @@ "children": [ { "kind": "text", - "text": "Video analysis" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": Video Analysis includes video-related features like Spatial Analysis and Video Retrieval. Spatial Analysis analyzes the presence and movement of people on a video feed and produces events that other systems can respond to. Video Retrieval lets you create an index of videos that you can search in your natural language." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - }, - { - "kind": "text", - "text": ": Video retrieval, spatial analysis, person counting, person in a zone, person crossing a line, person distance" - } - ] - } - ] + "text": "Text retrieval and semantic search" } ] } @@ -18903,47 +17229,7 @@ "children": [ { "kind": "text", - "text": "Face" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": The Face service provides AI algorithms that detect, recognize, and analyze human faces in images. Facial recognition software is important in many different scenarios, such as identification, touchless access control, and face blurring for privacy." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - }, - { - "kind": "text", - "text": ": Face detection and analysis, face liveness, face identification, face verification" - } - ] - } - ] + "text": "Code retrieval" } ] } @@ -18956,47 +17242,7 @@ "children": [ { "kind": "text", - "text": "Image analysis" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": The Image Analysis service extracts many visual features from images, such as objects, faces, adult content, and auto-generated text descriptions." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - }, - { - "kind": "text", - "text": ": Image tagging, image classification, object detection, image captioning, dense captioning, face detection, optical character recognition, image embeddings, and image search" - } - ] - } - ] + "text": "Text classification and clustering" } ] } @@ -19009,47 +17255,20 @@ "children": [ { "kind": "text", - "text": "Optical character recognition" + "text": "Bitext mining" } ] - }, + } + ] + }, + { + "description": [ { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Description" - }, - { - "kind": "text", - "text": ": The Optical Character Recognition (OCR) service extracts text from images. You can use the Read API to extract printed and handwritten text from photos and documents. It uses deep-learning-based models and works with text on various surfaces and backgrounds. These include business documents, invoices, receipts, posters, business cards, letters, and whiteboards. The OCR APIs support extracting printed text in several languages." - } - ] - } - ] - }, + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key Features" - }, - { - "kind": "text", - "text": ": OCR" - } - ] - } - ] + "kind": "text", + "text": "Multilingual and cross-lingual retrieval" } ] } @@ -19062,7 +17281,34 @@ "children": [ { "kind": "text", - "text": "Use Cases" + "text": "License" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is licensed under Apache 2.0. See " + }, + { + "kind": "href", + "text": "license details", + "value": "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B/blob/main/LICENSE" + }, + { + "kind": "text", + "text": "." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Source" } ] }, @@ -19077,37 +17323,39 @@ "children": [ { "kind": "text", - "text": "Boost content discovery with image analysis" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ + "text": "HuggingFace: " + }, { - "kind": "text", - "text": "Verify identities with the Face service" + "kind": "href", + "text": "Qwen3-Embedding-0.6B", + "value": "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B" } ] } ] - }, + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen3Embedding8b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen3Embedding8b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Search content in videos" - } - ] - } - ] + "kind": "text", + "text": "Qwen3 Embedding 8B Cuda Gpu" } ] }, @@ -19116,7 +17364,16 @@ "children": [ { "kind": "text", - "text": "Benefits" + "text": "This is the GPU (NVIDIA CUDA)-optimized variant of qwen3-embedding-8b, a text embedding model from the Qwen3 family developed by Alibaba Cloud and optimized by Microsoft." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Model Details" } ] }, @@ -19131,11 +17388,11 @@ "children": [ { "kind": "text", - "text": "No experience required" + "text": "Model Type" }, { "kind": "text", - "text": ": Incorporate vision features into your projects with no machine learning experience required." + "text": ": Text Embedding (ONNX)" } ] } @@ -19148,11 +17405,11 @@ "children": [ { "kind": "text", - "text": "Effortlessly customize your models" + "text": "Parameters" }, { "kind": "text", - "text": ": Customizing your image classification and object detection models can be done with as little as one image per tag, making it easy to train your own models." + "text": ": 8 billion" } ] } @@ -19165,31 +17422,16 @@ "children": [ { "kind": "text", - "text": "State of the art models" + "text": "Context Length" }, { "kind": "text", - "text": ": Ready to use APIs, constantly enhanced models, and flexible deployment options reduce the need for ongoing manual training or extensive customization." + "text": ": 32K tokens" } ] } ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Technical Details" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ + }, { "description": [ { @@ -19197,47 +17439,11 @@ "children": [ { "kind": "text", - "text": "Deployment" + "text": "Embedding Dimension" }, { "kind": "text", - "text": ": Deployment options may vary by service, reference the following docs for more information: " - }, - { - "kind": "href", - "text": "Image Analysis Overview", - "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-image-analysis?tabs=4-0" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "href", - "text": "Optical Character Recognition Overview", - "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-ocr" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "href", - "text": "Video Analysis Overview", - "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/intro-to-spatial-analysis-public-preview?tabs=sa" - }, - { - "kind": "text", - "text": ", and " - }, - { - "kind": "href", - "text": "Face Overview", - "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-identity" - }, - { - "kind": "text", - "text": "." + "text": ": Up to 4096" } ] } @@ -19250,47 +17456,45 @@ "children": [ { "kind": "text", - "text": "Requirements" + "text": "Quantization" }, { "kind": "text", - "text": ": Requirements may very slightly depending on the data you are analyzing, reference the following docs for more information: " - }, - { - "kind": "href", - "text": "Image Analysis Overview", - "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-image-analysis?tabs=4-0" - }, + "text": ": KLD Gradient quantization" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { "kind": "text", - "text": ", " - }, - { - "kind": "href", - "text": "Optical Character Recognition Overview", - "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-ocr" + "text": "Target Device" }, { "kind": "text", - "text": ", " - }, - { - "kind": "href", - "text": "Video Analysis Overview", - "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/intro-to-spatial-analysis-public-preview?tabs=sa" - }, + "text": ": GPU (NVIDIA CUDA)" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { "kind": "text", - "text": ", and " - }, - { - "kind": "href", - "text": "Face Overview", - "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-identity" + "text": "Execution Provider" }, { "kind": "text", - "text": "." + "text": ": CUDAExecutionProvider" } ] } @@ -19303,20 +17507,11 @@ "children": [ { "kind": "text", - "text": "Support" - }, - { - "kind": "text", - "text": ": Support options for AI Services can be found here: " - }, - { - "kind": "href", - "text": "Azure AI services support and help options - Azure AI services | Microsoft Learn", - "value": "https://learn.microsoft.com/azure/ai-services/cognitive-services-support-options?context=%2Fazure%2Fai-services%2Fcomputer-vision%2Fcontext%2Fcontext" + "text": "Supported Languages" }, { "kind": "text", - "text": "." + "text": ": 100+" } ] } @@ -19329,7 +17524,7 @@ "children": [ { "kind": "text", - "text": "Pricing" + "text": "Intended Use" } ] }, @@ -19338,39 +17533,7 @@ "children": [ { "kind": "text", - "text": "View up-to-date pricing information for the pay-as-you-go pricing model here: " - }, - { - "kind": "href", - "text": "Azure AI Vision pricing", - "value": "https://azure.microsoft.com/pricing/details/cognitive-services/computer-vision" - }, - { - "kind": "text", - "text": "." - } - ] - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "AzureContentUnderstandingLayout", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureContentUnderstandingLayout", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Azure Content Understanding - Layout" + "text": "This model is optimized for local execution on devices with GPU (NVIDIA CUDA) hardware acceleration using Foundry Local." } ] }, @@ -19379,34 +17542,78 @@ "children": [ { "kind": "text", - "text": "Content Understanding Layout offers rich, structure‑aware extraction that captures text, formatting, tables, figures, and geometric layout details. It’s designed for complex document understanding workflows that require positional accuracy and deeper structural insights." + "text": "Capabilities" } ] }, { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "text", - "text": "Azure Content Understanding" - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Text retrieval and semantic search" + } + ] + } + ] + }, { - "kind": "text", - "text": "Azure Content Understanding uses generative AI to process/ingest content of many types (documents, images, videos, and audio) into a user-defined output format. It offers a streamlined process to reason over large amounts of unstructured data, accelerating time-to-value by generating an output that can be integrated into automation and analytical workflows." - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Code retrieval" + } + ] + } + ] + }, { - "kind": "text", - "text": "Key capabilities" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Text classification and clustering" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Bitext mining" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Multilingual and cross-lingual retrieval" + } + ] + } + ] } ] }, @@ -19415,7 +17622,7 @@ "children": [ { "kind": "text", - "text": "About this model" + "text": "License" } ] }, @@ -19424,15 +17631,16 @@ "children": [ { "kind": "text", - "text": "The " + "text": "This model is licensed under Apache 2.0. See " }, { - "kind": "text", - "text": "Layout" + "kind": "href", + "text": "license details", + "value": "https://huggingface.co/Qwen/Qwen3-Embedding-8B/blob/main/LICENSE" }, { "kind": "text", - "text": " model offers rich, structure‑aware analysis for documents that require deeper understanding of formatting, hierarchy, and spatial relationships. It combines textual extraction with geometric layout detection to support advanced automation and content reasoning." + "text": "." } ] }, @@ -19441,7 +17649,7 @@ "children": [ { "kind": "text", - "text": "Key model capabilities" + "text": "Source" } ] }, @@ -19456,69 +17664,55 @@ "children": [ { "kind": "text", - "text": "Extracts detailed content and layout elements such as " - }, - { - "kind": "text", - "text": "words" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "text", - "text": "paragraphs" - }, - { - "kind": "text", - "text": ", " + "text": "HuggingFace: " }, { - "kind": "text", - "text": "tables" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "text", - "text": "figures" - }, - { - "kind": "text", - "text": ", and " - }, - { - "kind": "text", - "text": "sections" + "kind": "href", + "text": "Qwen3-Embedding-8B", + "value": "https://huggingface.co/Qwen/Qwen3-Embedding-8B" } ] } ] - }, + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen3Vl2bInstruct", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen3Vl2bInstruct", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Identifies " - }, - { - "kind": "text", - "text": "document structure" - }, - { - "kind": "text", - "text": ", formatting patterns, and hierarchical organization" - } - ] - } - ] - }, + "kind": "text", + "text": "This model is an optimized version of Qwen3-VL-2B-Instruct to enable local inference. This model uses RTN quantization." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Model Description" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ { "description": [ { @@ -19526,15 +17720,11 @@ "children": [ { "kind": "text", - "text": "Extracts " - }, - { - "kind": "text", - "text": "hyperlinks" + "text": "Developed by:" }, { "kind": "text", - "text": " embedded in documents" + "text": " Microsoft" } ] } @@ -19547,15 +17737,11 @@ "children": [ { "kind": "text", - "text": "Captures " - }, - { - "kind": "text", - "text": "annotations" + "text": "Model type:" }, { "kind": "text", - "text": " such as highlights, underlines, and strikethroughs in digital PDFs" + "text": " ONNX" } ] } @@ -19568,15 +17754,11 @@ "children": [ { "kind": "text", - "text": "Provides " - }, - { - "kind": "text", - "text": "precise positional information" + "text": "License:" }, { "kind": "text", - "text": " for all extracted elements" + "text": " apache-2.0" } ] } @@ -19589,47 +17771,11 @@ "children": [ { "kind": "text", - "text": "Detects all figure types—" - }, - { - "kind": "text", - "text": "charts" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "text", - "text": "diagrams" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "text", - "text": "pictures" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "text", - "text": "icons" - }, - { - "kind": "text", - "text": ", and other images—with bounding box details (" - }, - { - "kind": "text", - "text": "PDF only" + "text": "Model Description:" }, { "kind": "text", - "text": ")" + "text": " This is a conversion of the Qwen3-VL-2B-Instruct for local inference." } ] } @@ -19642,31 +17788,11 @@ "children": [ { "kind": "text", - "text": "Suitable for advanced workflows such as " - }, - { - "kind": "text", - "text": "document automation" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "text", - "text": "RAG indexing" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "text", - "text": "semantic" + "text": "Disclaimer:" }, { "kind": "text", - "text": " search, and any process demanding fine‑grained layout understanding" + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -19679,7 +17805,7 @@ "children": [ { "kind": "text", - "text": "Pricing" + "text": "Base Model Information" } ] }, @@ -19688,16 +17814,39 @@ "children": [ { "kind": "text", - "text": "View up-to-date pay-as-you-go pricing details here: " + "text": "See Hugging Face model " }, { "kind": "href", - "text": "Azure AI Content Understanding pricing", - "value": "https://azure.microsoft.com/en-us/pricing/details/content-understanding/" + "text": "Qwen3-VL-2B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen3-VL-2B-Instruct" }, { "kind": "text", - "text": "." + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Qwen3Vl4bInstruct", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Qwen3Vl4bInstruct", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized version of Qwen3-VL-4B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -19706,7 +17855,7 @@ "children": [ { "kind": "text", - "text": "Technical details" + "text": "Model Description" } ] }, @@ -19721,20 +17870,11 @@ "children": [ { "kind": "text", - "text": "Deployment" - }, - { - "kind": "text", - "text": ": Deployment options may vary by service, reference the following docs for more information: " - }, - { - "kind": "href", - "text": "Create a Microsoft Foundry resource", - "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/how-to/create-multi-service-resource" + "text": "Developed by:" }, { "kind": "text", - "text": "." + "text": " Microsoft" } ] } @@ -19747,20 +17887,11 @@ "children": [ { "kind": "text", - "text": "Requirements" - }, - { - "kind": "text", - "text": ": Requirements may vary depending on the input data you are analyzing, reference the following docs for more information: " - }, - { - "kind": "href", - "text": "Service quotas and limits", - "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/service-limits" + "text": "Model type:" }, { "kind": "text", - "text": "." + "text": " ONNX" } ] } @@ -19773,33 +17904,58 @@ "children": [ { "kind": "text", - "text": "Support" + "text": "License:" }, { "kind": "text", - "text": ": Support options for AI Services can be found here: " - }, + "text": " apache-2.0" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { - "kind": "href", - "text": "Azure AI services support and help options", - "value": "https://learn.microsoft.com/en-us/azure/ai-services/cognitive-services-support-options?view=doc-intel-4.0.0" + "kind": "text", + "text": "Model Description:" }, { "kind": "text", - "text": "." + "text": " This is a conversion of the Qwen3-VL-4B-Instruct for local inference." } ] } ] - } - ] - }, - { - "kind": "para", + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Disclaimer:" + }, + { + "kind": "text", + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." + } + ] + } + ] + } + ] + }, + { + "kind": "para", "children": [ { "kind": "text", - "text": "More information" + "text": "Base Model Information" } ] }, @@ -19808,28 +17964,28 @@ "children": [ { "kind": "text", - "text": "Learn more in the full " + "text": "See Hugging Face model " }, { "kind": "href", - "text": "Azure AI Content Understanding documentation", - "value": "https://aka.ms/content-understanding-doc" + "text": "Qwen3-VL-4B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct" }, { "kind": "text", - "text": "." + "text": " for details." } ] } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" }, { - "name": "AzureContentUnderstandingRead", + "name": "Qwen3Vl8bInstruct", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureContentUnderstandingRead", + "signature": "public static readonly FoundryModel Local.Qwen3Vl8bInstruct", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -19840,69 +17996,7 @@ "children": [ { "kind": "text", - "text": "Azure Content Understanding - Read" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Content Understanding Read provides fast, reliable extraction of text and basic content elements from documents, enabling simple ingestion workflows without layout interpretation. It’s ideal for scenarios where clean text output is needed for downstream automation, classification, or search." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Azure Content Understanding" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Azure Content Understanding uses generative AI to process/ingest content of many types (documents, images, videos, and audio) into a user-defined output format. It offers a streamlined process to reason over large amounts of unstructured data, accelerating time-to-value by generating an output that can be integrated into automation and analytical workflows." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Key capabilities" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "About this model" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "The " - }, - { - "kind": "text", - "text": "Read" - }, - { - "kind": "text", - "text": " model provides foundational text extraction capabilities for simple, fast, and reliable ingestion of document content. It focuses on capturing textual elements without performing layout or structural analysis, making it ideal for lightweight processing and downstream text-based workflows." + "text": "This model is an optimized version of Qwen3-VL-8B-Instruct to enable local inference. This model uses RTN quantization." } ] }, @@ -19911,7 +18005,7 @@ "children": [ { "kind": "text", - "text": "Key model capabilities" + "text": "Model Description" } ] }, @@ -19926,43 +18020,28 @@ "children": [ { "kind": "text", - "text": "Extracts fundamental content elements such as " - }, - { - "kind": "text", - "text": "words" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "text", - "text": "lines" - }, - { - "kind": "text", - "text": ", " - }, - { - "kind": "text", - "text": "paragraphs" - }, - { - "kind": "text", - "text": ", " + "text": "Developed by:" }, { "kind": "text", - "text": "formulas" - }, + "text": " Microsoft" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { "kind": "text", - "text": ", and " + "text": "Model type:" }, { "kind": "text", - "text": "barcodes" + "text": " ONNX" } ] } @@ -19975,15 +18054,11 @@ "children": [ { "kind": "text", - "text": "Provides " - }, - { - "kind": "text", - "text": "basic OCR" + "text": "License:" }, { "kind": "text", - "text": " functionality for a wide range of document types" + "text": " apache-2.0" } ] } @@ -19996,11 +18071,11 @@ "children": [ { "kind": "text", - "text": "Returns text results " + "text": "Model Description:" }, { "kind": "text", - "text": "without layout interpretation" + "text": " This is a conversion of the Qwen3-VL-8B-Instruct for local inference." } ] } @@ -20013,15 +18088,11 @@ "children": [ { "kind": "text", - "text": "Best suited for scenarios requiring " - }, - { - "kind": "text", - "text": "quick ingestion" + "text": "Disclaimer:" }, { "kind": "text", - "text": ", metadata extraction, transcription, or feeding clean text into analytic or search pipelines" + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." } ] } @@ -20034,7 +18105,7 @@ "children": [ { "kind": "text", - "text": "Pricing" + "text": "Base Model Information" } ] }, @@ -20043,16 +18114,39 @@ "children": [ { "kind": "text", - "text": "View up-to-date pay-as-you-go pricing details here: " + "text": "See Hugging Face model " }, { "kind": "href", - "text": "Azure AI Content Understanding pricing", - "value": "https://azure.microsoft.com/en-us/pricing/details/content-understanding/" + "text": "Qwen3-VL-8B-Instruct", + "value": "https://huggingface.co/Qwen/Qwen3-VL-8B-Instruct" }, { "kind": "text", - "text": "." + "text": " for details." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + }, + { + "name": "Smollm33b", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Local.Smollm33b", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "This model is an optimized version of SmolLM3-3B to enable local inference. This model uses GPTQ quantization." } ] }, @@ -20061,7 +18155,7 @@ "children": [ { "kind": "text", - "text": "Technical details" + "text": "Model Description" } ] }, @@ -20076,20 +18170,11 @@ "children": [ { "kind": "text", - "text": "Deployment" - }, - { - "kind": "text", - "text": ": Deployment options may vary by service, reference the following docs for more information: " - }, - { - "kind": "href", - "text": "Create a Microsoft Foundry resource", - "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/how-to/create-multi-service-resource" + "text": "Developed by:" }, { "kind": "text", - "text": "." + "text": " Microsoft" } ] } @@ -20102,20 +18187,11 @@ "children": [ { "kind": "text", - "text": "Requirements" - }, - { - "kind": "text", - "text": ": Requirements may vary depending on the input data you are analyzing, reference the following docs for more information: " - }, - { - "kind": "href", - "text": "Service quotas and limits", - "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/service-limits" + "text": "Model type:" }, { "kind": "text", - "text": "." + "text": " ONNX" } ] } @@ -20128,33 +18204,58 @@ "children": [ { "kind": "text", - "text": "Support" + "text": "License:" }, { "kind": "text", - "text": ": Support options for AI Services can be found here: " - }, + "text": " apache-2.0" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ { - "kind": "href", - "text": "Azure AI services support and help options", - "value": "https://learn.microsoft.com/en-us/azure/ai-services/cognitive-services-support-options?view=doc-intel-4.0.0" + "kind": "text", + "text": "Model Description:" }, { "kind": "text", - "text": "." + "text": " This is a conversion of the SmolLM3-3B for local inference." } ] } ] - } - ] - }, - { - "kind": "para", - "children": [ + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Disclaimer:" + }, + { + "kind": "text", + "text": " Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model." + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ { "kind": "text", - "text": "More information" + "text": "Base Model Information" } ] }, @@ -20163,46 +18264,48 @@ "children": [ { "kind": "text", - "text": "Learn more in the full " + "text": "See Hugging Face model " }, { "kind": "href", - "text": "Azure AI Content Understanding documentation", - "value": "https://aka.ms/content-understanding-doc" + "text": "SmolLM3-3B", + "value": "https://huggingface.co/HuggingFaceTB/SmolLM3-3B" }, { "kind": "text", - "text": "." + "text": " for details." } ] } ] }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "AzureLanguageConversationalPiiRedaction", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureLanguageConversationalPiiRedaction", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " PII Redaction for Conversation automatically detects and masks sensitive information such as names, addresses, phone numbers, credit card details, and other personally identifiable information (PII) in meeting transcripts. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Local.Generated.cs" + } + ] + }, + { + "name": "Meta", + "fullName": "Aspire.Hosting.Foundry.FoundryModel.Meta", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Models published by Meta. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", + "sourceLines": "223-223", + "members": [ { - "name": "AzureLanguageDocumentPiiRedaction", + "name": "Llama3211BVisionInstruct", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureLanguageDocumentPiiRedaction", + "signature": "public static readonly FoundryModel Meta.Llama3211BVisionInstruct", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -20210,17 +18313,17 @@ "summary": [ { "kind": "text", - "text": " PII Redaction for Documents automatically detects and masks sensitive information such as names, addresses, phone numbers, credit card details, and other personally identifiable information (PII) in native documents including PDF, Word, and text files. " + "text": " Excels in image reasoning capabilities on high-res images for visual understanding apps. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "AzureLanguageLanguageDetection", + "name": "Llama3290BVisionInstruct", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureLanguageLanguageDetection", + "signature": "public static readonly FoundryModel Meta.Llama3290BVisionInstruct", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -20228,17 +18331,17 @@ "summary": [ { "kind": "text", - "text": " Language detection quickly and accurately identifies the language of any text, supporting over 100 languages and dialects, including the ISO 15924 standard for a select number of languages. " + "text": " Advanced image reasoning capabilities for visual understanding agentic apps. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "AzureLanguageTextAnalyticsForHealth", + "name": "Llama3370BInstruct", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureLanguageTextAnalyticsForHealth", + "signature": "public static readonly FoundryModel Meta.Llama3370BInstruct", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -20246,17 +18349,17 @@ "summary": [ { "kind": "text", - "text": " Text Analytics for Health extracts and labels relevant medical information from unstructured clinical text, including doctors' notes, discharge summaries, and electronic health records, using named entity recognition, relation extraction, entity linking, a " + "text": " Llama 3.3 70B Instruct offers enhanced reasoning, math, and instruction following with performance comparable to Llama 3.1 405B. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "AzureLanguageTextPiiRedaction", + "name": "Llama4Maverick17B128EInstructFP8", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureLanguageTextPiiRedaction", + "signature": "public static readonly FoundryModel Meta.Llama4Maverick17B128EInstructFP8", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -20264,17 +18367,17 @@ "summary": [ { "kind": "text", - "text": " PII Redaction for Text automatically detects and masks sensitive information such as names, addresses, phone numbers, credit card details, and other personally identifiable information (PII) in unstructured text. " + "text": " Llama 4 Maverick 17B 128E Instruct FP8 is great at precise image understanding and creative writing, offering high quality at a lower price compared to Llama 3.3 70B " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "AzureSpeechSpeechToText", + "name": "Llama4Scout17B16EInstruct", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureSpeechSpeechToText", + "signature": "public static readonly FoundryModel Meta.Llama4Scout17B16EInstruct", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -20282,17 +18385,17 @@ "summary": [ { "kind": "text", - "text": " Transcribes streaming or recorded audio into readable text across 140+ languages and dialects. Accuracy can be further optimized with custom models for your specialized use cases. " + "text": " Llama 4 Scout 17B 16E Instruct is great at multi-document summarization, parsing extensive user activity for personalized tasks, and reasoning over vast codebases. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "AzureSpeechSpeechTranslation", + "name": "MetaLlama31405BInstruct", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureSpeechSpeechTranslation", + "signature": "public static readonly FoundryModel Meta.MetaLlama31405BInstruct", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -20300,45 +18403,17 @@ "summary": [ { "kind": "text", - "text": " Translates streaming or recorded audio into text or audio across 140+ languages and dialects. Accuracy can be further optimized with custom models for your specialized use cases. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "AzureSpeechTextToSpeech", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureSpeechTextToSpeech", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Text-to-speech enables your applications, tools, or devices to convert text into natural synthesized speech. It leverages advanced out-of-the-box [prebuilt neural voices](" - }, - { - "kind": "href", - "text": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?t", - "value": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?t" - } - ] + "text": " The Llama 3.1 instruction tuned text only models are optimized for multilingual dialogue use cases and outperform many of the available open source and closed chat models on common industry benchmarks. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "AzureSpeechTextToSpeechAvatar", + "name": "MetaLlama318BInstruct", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureSpeechTextToSpeechAvatar", + "signature": "public static readonly FoundryModel Meta.MetaLlama318BInstruct", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -20346,17 +18421,17 @@ "summary": [ { "kind": "text", - "text": " Text to speech avatar converts text into a digital video of a human (either a standard avatar or a custom text to speech avatar) speaking with a natural-sounding voice. The text to speech avatar video can be synthesized asynchronously or in real time. Deve " + "text": " The Llama 3.1 instruction tuned text only models are optimized for multilingual dialogue use cases and outperform many of the available open source and closed chat models on common industry benchmarks. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "AzureSpeechVoiceLive", + "name": "MuseSpark", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureSpeechVoiceLive", + "signature": "public static readonly FoundryModel Meta.MuseSpark", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -20364,17 +18439,17 @@ "summary": [ { "kind": "text", - "text": " Voice Live API is a single unified API that enables low-latency, high-quality speech to speech interactions for voice agents. " + "text": " Muse-Spark is a Meta text-generation model for conversational experiences, drafting, summarization, and question answering. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "AzureTranslatorDocumentTranslation", + "name": "MuseSpark13", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureTranslatorDocumentTranslation", + "signature": "public static readonly FoundryModel Meta.MuseSpark13", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -20382,190 +18457,75 @@ "summary": [ { "kind": "text", - "text": " Document translation is a cloud-based, multilingual service that uses AI to translate documents from one language to another while preserving the document layout. " + "text": " Muse-Spark-1.3 is a Meta text-generation model for conversational experiences, drafting, summarization, and question answering. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, + } + ] + }, + { + "name": "Microsoft", + "fullName": "Aspire.Hosting.Foundry.FoundryModel.Microsoft", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Models published by Microsoft. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", + "sourceLines": "283-283", + "members": [ { - "name": "AzureTranslatorTextTranslation", + "name": "AzureAIContentSafety", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.AzureTranslatorTextTranslation", + "signature": "public static readonly FoundryModel Microsoft.AzureAIContentSafety", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, "docs": { "summary": [ { - "kind": "text", - "text": " Text translation is a cloud-based, multilingual service that uses neural machine translation models (NMT) and/or large language models (LLM) to translate text from one language to another, supporting 135 languages. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MaiTranscribe1", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.MaiTranscribe1", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Azure AI Content Safety" + } + ] + }, { - "kind": "text", - "text": " MAI-Transcribe-1 is an ASR model built to deliver high quality batch transcription whenever the user speaks. It is designed to achieve high accuracy across 25 languages and to adapt seamlessly to diverse accents, dialects, and regional speech patterns. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MaiTranscribe15", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.MaiTranscribe15", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Introduction" + } + ] + }, { - "kind": "text", - "text": " MAI-Transcribe-1.5 is the second iteration of Microsoft's best-in-class speech-to-text model family. It delivers consistently strong transcription accuracy across 43 languages, accents, speaking styles, and noisy environments, with faster inference and now " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MaiVoice1", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.MaiVoice1", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " MAI-Voice-1 is a text-to-speech (TTS) model that generates high-quality single-speaker speech and, soon, multi-speaker speech for public preview. It produces audio that strictly follows the input transcript and supports per-turn emotion control as well as " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MaiVoice2", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.MaiVoice2", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " MAI-Voice-2 is a prompted text-to-speech (TTS) model that generates high-fidelity, natural, and expressive speech across 10+ languages. It captures human-like intonation, rhythm, and emotional nuance for engaging conversational experiences. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MaiVoice2Flash", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.MaiVoice2Flash", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " MAI-Voice-2-Flash is a text-to-speech (TTS) model built for ultra-fast, low-latency generation. It delivers high-fidelity, natural, and expressive speech across 15 languages, while being optimized for real-time responsiveness for voice agents, assistants, " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ModelRouter", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.ModelRouter", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Model router is a deployable AI model that is trained to select the most suitable large language model (LLM) for a given prompt. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Phi3Small8kInstruct", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.Phi3Small8kInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " A 7B parameters model, proves better quality than Phi-3-mini, with a focus on high-quality, reasoning-dense data. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Phi3Vision128kInstruct", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.Phi3Vision128kInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model Summary" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Phi-3 Vision is a lightweight, state-of-the-art open multimodal model built upon datasets which include - synthetic data and filtered publicly available websites - with a focus on very high-quality, reasoning dense data both on text and vision. The model belongs to the Phi-3 model family, and the multimodal version comes with 128K context length (in tokens) it can support. The model underwent a rigorous enhancement process, incorporating both supervised fine-tuning and direct preference optimization to ensure precise instruction adherence and robust safety measures." - } - ] - }, + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Azure AI Content Safety is a safety system for monitoring content generated by both foundation models and humans. Detect and block potential risks, threats, and quality problems. You can build an advanced safety system for foundation models to detect and mitigate harmful content and risks in user prompts and AI-generated outputs. Use Prompt Shields to detect and block prompt injection attacks, groundedness detection to pinpoint ungrounded or hallucinated materials, and protected material detection to identify copyrighted or owned content." + } + ] + }, { "kind": "para", "children": [ { "kind": "text", - "text": "Resources and Technical Documentation:" + "text": "Core Features" } ] }, @@ -20579,60 +18539,48 @@ "kind": "para", "children": [ { - "kind": "href", - "text": "Phi-3 Microsoft Blog", - "value": "https://aka.ms/phi3blog-april" + "kind": "text", + "text": "Block harmful input and output" } ] - } - ] - }, - { - "description": [ + }, { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "href", - "text": "Phi-3 Technical Report", - "value": "https://aka.ms/phi3-tech-report" - } - ] - } - ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Training" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Model" - } - ] - }, - { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": Detect and block violence, hate, sexual, and self-harm content for both text, images and multimodal. Configure severity thresholds for your specific use case and adhere to your responsible AI policies." + } + ] + } + ] + }, { - "kind": "text", - "text": "Architecture: Phi-3-Vision-128K-Instruct has 4.2B parameters and contains image encoder, connector, projector, and Phi-3 Mini language model." + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + }, + { + "kind": "text", + "text": ": Violence, hate, sexual, and self-harm content detection. Custom blocklist." + } + ] + } + ] } ] } @@ -20645,33 +18593,47 @@ "children": [ { "kind": "text", - "text": "Inputs: Text and Image. It’s best suited for prompts using the chat format." + "text": "Policy customization with custom categories" } ] - } - ] - }, - { - "description": [ + }, { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "text", - "text": "Context length: 128K tokens" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": Create unique content filters tailored to your requirements using custom categories. Quickly train a new custom category by providing examples of content you need to block." + } + ] + } + ] + }, { - "kind": "text", - "text": "GPUs: 512 H100-80G" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + }, + { + "kind": "text", + "text": ": Custom categories" + } + ] + } + ] } ] } @@ -20684,20 +18646,100 @@ "children": [ { "kind": "text", - "text": "Training time: 1.5 days" + "text": "Identify the security risks" } ] - } - ] - }, - { - "description": [ + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": Safeguard your AI applications against prompt injection attacks and jailbreak attempts. Identify and mitigate both direct and indirect threats with prompt shields." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + }, + { + "kind": "text", + "text": ": Direct jailbreak attack, indirect prompt injection from docs." + } + ] + } + ] + } + ] + } + ] + }, + { + "description": [ { "kind": "para", "children": [ { "kind": "text", - "text": "Training data: 500B vision and text tokens" + "text": "Detect and correct Gen AI hallucinations" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": Identify and correct generative AI hallucinations and ensure outputs are reliable, accurate, and grounded in data with groundedness detection." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + }, + { + "kind": "text", + "text": ": Groundedness detection, reasoning, and correction." + } + ] + } + ] } ] } @@ -20710,7 +18752,75 @@ "children": [ { "kind": "text", - "text": "Outputs: Generated text in response to the input" + "text": "Identify protected material" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": Pinpoint copyrighted content and provide sources for preexisting text and code with protected material detection." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + }, + { + "kind": "text", + "text": ": Protected material for code, protected material for text" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Use Cases" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Generative AI services screen user-submitted prompts and generated outputs to ensure safe and appropriate content." } ] } @@ -20723,7 +18833,7 @@ "children": [ { "kind": "text", - "text": "Dates: Our models were trained between February and April 2024" + "text": "Online marketplaces monitor and filter product listings and other user-generated content to prevent harmful or inappropriate material." } ] } @@ -20736,7 +18846,7 @@ "children": [ { "kind": "text", - "text": "Status: This is a static model trained on an offline text dataset with cutoff date Mar 15, 2024. Future versions of the tuned models may be released as we improve models." + "text": "Gaming platforms manage and moderate user-created game content and in-game communication to maintain a safe environment." } ] } @@ -20749,7 +18859,7 @@ "children": [ { "kind": "text", - "text": "Release Type: Open weight release" + "text": "Social media platforms review and regulate user-uploaded images and posts to enforce community standards and prevent harmful content." } ] } @@ -20762,20 +18872,24 @@ "children": [ { "kind": "text", - "text": "Release dates: The model weight is released on May 21, 2024." + "text": "Enterprise media companies implement centralized content moderation systems to ensure the safety and appropriateness of their published materials." } ] } ] - } - ] - }, - { - "kind": "para", - "children": [ + }, { - "kind": "text", - "text": "Datasets" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "K-12 educational technology providers filter out potentially harmful or inappropriate content to create a safe learning environment for students and educators." + } + ] + } + ] } ] }, @@ -20784,13 +18898,13 @@ "children": [ { "kind": "text", - "text": "Our training data includes a wide variety of sources, and is a combination of" + "text": "Benefits" } ] }, { "kind": "list", - "style": "number", + "style": "bullet", "items": [ { "description": [ @@ -20799,7 +18913,11 @@ "children": [ { "kind": "text", - "text": "publicly available documents filtered rigorously for quality, selected high-quality educational data and code;" + "text": "No ML experience required" + }, + { + "kind": "text", + "text": ": Incorporate content safety features into your projects with no machine learning experience required." } ] } @@ -20812,7 +18930,11 @@ "children": [ { "kind": "text", - "text": "selected high-quality image-text interleave;" + "text": "Effortlessly customize your RAI policies" + }, + { + "kind": "text", + "text": ": Customizing your content safety classifiers can be done with one line of description, a few samples using Custom Categories." } ] } @@ -20825,7 +18947,11 @@ "children": [ { "kind": "text", - "text": "newly created synthetic, “textbook-like” data for the purpose of teaching math, coding, common sense reasoning, general knowledge of the world (science, daily activities, theory of mind, etc.), newly created image data, e.g., chart/table/diagram/slides;" + "text": "State of the art models" + }, + { + "kind": "text", + "text": ": ready for use APIs, SOTA models, and flexible deployment options reduce the need for ongoing manual training or extensive customization. Microsoft has a science team and policy experts working on the frontier of Gen AI to constantly improve the safety and security models to ensure our customers can develop and deploy generative AI safely and responsibly." } ] } @@ -20838,56 +18964,66 @@ "children": [ { "kind": "text", - "text": "high quality chat format supervised data covering various topics to reflect human preferences on different aspects such as instruct-following, truthfulness, honesty and helpfulness." + "text": "Global Reach" + }, + { + "kind": "text", + "text": ": Support more than 100 languages, enabling businesses to communicate effectively with customers, partners, and employees worldwide." } ] } ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "The data collection process involved sourcing information from publicly available documents, with a meticulous approach to filtering out undesirable documents and images. To safeguard privacy, we carefully filtered various image and text data sources to remove or scrub any potentially personal data from the training data." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "More details can be found in the " }, { - "kind": "href", - "text": "Phi-3 Technical Report", - "value": "https://aka.ms/phi3-tech-report" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Scalable and Reliable" + }, + { + "kind": "text", + "text": ": Built on Azure's cloud infrastructure, the Azure AI Content Safety service scales automatically to meet demand, from small business applications to global enterprise workloads." + } + ] + } + ] }, { - "kind": "text", - "text": "." - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Benchmarks" - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Security and Compliance" + }, + { + "kind": "text", + "text": ": Azure AI Content Safety runs on Azure's secure cloud infrastructure, ensuring data privacy and compliance with global standards. User data is not stored after the translation process." + } + ] + } + ] + }, { - "kind": "text", - "text": "To understand the capabilities, we compare Phi-3 Vision-128K-Instruct with a set of models over a variety of zero-shot benchmarks using our internal benchmark platform." + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Flexible deployment" + }, + { + "kind": "text", + "text": ": Azure AI Content Safety can be deployed on cloud, on premises and on devices." + } + ] + } + ] } ] }, @@ -20896,34 +19032,150 @@ "children": [ { "kind": "text", - "text": "\u00A0" + "text": "Technical Details" } ] }, { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "text", - "text": "Benchmark" - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Deployment" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Container for on-premise deployment" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "href", + "text": "Content safety containers overview - Azure AI Content Safety - Azure AI services | Microsoft Learn", + "value": "https://learn.microsoft.com/azure/ai-services/content-safety/how-to/containers/container-overview" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Embedded Content Safety" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "href", + "text": "Embedded Content Safety - Azure AI Content Safety - Azure AI services | Microsoft Learn", + "value": "https://learn.microsoft.com/azure/ai-services/content-safety/how-to/embedded-content-safety?tabs=windows-target%2Ctext" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Cloud" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "href", + "text": "Azure AI Content Safety documentation - Quickstarts, Tutorials, API Reference - Azure AI services | Microsoft Learn", + "value": "https://learn.microsoft.com/azure/ai-services/content-safety/" + } + ] + } + ] + } + ] + } + ] + }, { - "kind": "text", - "text": "Phi-3 Vision-128K-In1" - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Requirements" + }, + { + "kind": "text", + "text": ": Requirements vary feature by feature, for more details, refer to the Azure AI Content Safety documentation: " + }, + { + "kind": "href", + "text": "Azure AI Content Safety documentation - Quickstarts, Tutorials, API Reference - Azure AI services | Microsoft Learn", + "value": "https://learn.microsoft.com/azure/ai-services/content-safety/" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, { - "kind": "text", - "text": "LlaVA-1.6 Vicuna-7B" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Support" + }, + { + "kind": "text", + "text": ": Azure AI Content Safety is part of Azure AI Services. Support options for AI Services can be found here: " + }, + { + "kind": "href", + "text": "Azure AI services support and help options - Azure AI services | Microsoft Learn", + "value": "https://learn.microsoft.com/azure/ai-services/cognitive-services-support-options?context=%2Fazure%2Fai-services%2Fcontent-safety%2Fcontext%2Fcontext" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] } ] }, @@ -20932,7 +19184,7 @@ "children": [ { "kind": "text", - "text": "QWEN-VL Chat" + "text": "Pricing" } ] }, @@ -20941,34 +19193,39 @@ "children": [ { "kind": "text", - "text": "Llama3-Llava-Next-8B" - } - ] - }, - { - "kind": "para", - "children": [ + "text": "Explore pricing options here: " + }, { - "kind": "text", - "text": "Claude-3 Haiku" - } - ] - }, - { - "kind": "para", - "children": [ + "kind": "href", + "text": "Azure AI Content Safety - Pricing | Microsoft Azure", + "value": "https://azure.microsoft.com/pricing/details/cognitive-services/content-safety/" + }, { "kind": "text", - "text": "Gemini 1.0 Pro V" + "text": "." } ] - }, + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureAIContentUnderstanding", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureAIContentUnderstanding", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ { "kind": "para", "children": [ { "kind": "text", - "text": "GPT-4V-Turbo" + "text": "Azure AI Content Understanding" } ] }, @@ -20977,7 +19234,7 @@ "children": [ { "kind": "text", - "text": "MMMU" + "text": "Introduction" } ] }, @@ -20986,7 +19243,7 @@ "children": [ { "kind": "text", - "text": "40.4" + "text": "Azure AI Content Understanding empowers you to transform unstructured multimodal data—such as text, images, audio, and video—into structured, actionable insights. By streamlining content processing with advanced AI techniques like schema extraction and grounding, it delivers accurate structured data for downstream applications. Offering prebuilt templates for common use cases and customizable models, it helps you unify diverse data types into a single, efficient pipeline, optimizing workflows and accelerating time to value." } ] }, @@ -20995,16 +19252,115 @@ "children": [ { "kind": "text", - "text": "34.2" + "text": "Core Features" } ] }, { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "text", - "text": "39.0" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Multimodal data ingestion" + }, + { + "kind": "text", + "text": "Ingest a range of modalities such as documents, images, audio, or video. Use a variety of AI models to convert the input data into a structured format that can be easily processed and analyzed by downstream services or applications." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Customizable output schemas" + }, + { + "kind": "text", + "text": "Customize the schemas of extracted results to meet your specific needs. Tailor the format and structure of summaries, insights, or features to include only the most relevant details—such as key points or timestamps—from video or audio files." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Confidence scores" + }, + { + "kind": "text", + "text": " Leverage confidence scores to minimize human intervention and continuously improve accuracy through user feedback." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Output ready for downstream applications" + }, + { + "kind": "text", + "text": "Automate business processes by building enterprise AI apps or agentic workflows. Use outputs that downstream applications can consume for reasoning with retrieval-augmented generation (RAG)." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Grounding" + }, + { + "kind": "text", + "text": " Ensure the information extracted, inferred, or abstracted is represented in the underlying content." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Automatic labeling" + }, + { + "kind": "text", + "text": " Save time and effort on manual annotation and create models quicker by using large language models (LLMs) to extract fields from various document types." + } + ] + } + ] } ] }, @@ -21013,16 +19369,81 @@ "children": [ { "kind": "text", - "text": "36.4" + "text": "Use Cases" } ] }, { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "text", - "text": "40.7" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Post-call analytics for call centers" + }, + { + "kind": "text", + "text": ": Generate insights from call recordings, track key performance indicators (KPIs), and answer customer questions more accurately and efficiently." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Tax process automation" + }, + { + "kind": "text", + "text": ": Streamline the tax return process by extracting data from tax forms to create a consolidated view of information across various documents." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Media asset management" + }, + { + "kind": "text", + "text": ": Extract features from images and videos to provide richer tools for targeted content and enhance media asset management solutions." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Chart understanding" + }, + { + "kind": "text", + "text": ": Enhance chart understanding by automating the analysis and interpretation of various types of charts and diagrams using Content Understanding." + } + ] + } + ] } ] }, @@ -21031,16 +19452,81 @@ "children": [ { "kind": "text", - "text": "42.0" + "text": "Benefits" } ] }, { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "text", - "text": "55.5" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Streamline workflows" + }, + { + "kind": "text", + "text": ": Azure AI Content Understanding standardizes the extraction of content, structure, and insights from various content types into a unified process." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Simplify field extraction" + }, + { + "kind": "text", + "text": ": Field extraction in Content Understanding makes it easier to generate structured output from unstructured content. Define a schema to extract, classify, or generate field values with no complex prompt engineering." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Enhance accuracy" + }, + { + "kind": "text", + "text": ": Content Understanding employs multiple AI models to analyze and cross-validate information simultaneously, resulting in more accurate and reliable results." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Confidence scores & grounding" + }, + { + "kind": "text", + "text": ": Content Understanding ensures the accuracy of extracted values while minimizing the cost of human review." + } + ] + } + ] } ] }, @@ -21049,52 +19535,91 @@ "children": [ { "kind": "text", - "text": "MMBench" + "text": "Technical Details" } ] }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "80.5" - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "76.3" - } - ] - }, - { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "text", - "text": "75.8" - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Deployment" + }, + { + "kind": "text", + "text": ": Deployment options may vary by service, reference the following docs for more information: " + }, + { + "kind": "href", + "text": "Create a Microsoft Foundry resource", + "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/how-to/create-multi-service-resource" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, { - "kind": "text", - "text": "79.4" - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Requirements" + }, + { + "kind": "text", + "text": ": Requirements may vary depending on the input data you are analyzing, reference the following docs for more information: " + }, + { + "kind": "href", + "text": "Service quotas and limits", + "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/service-limits" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, { - "kind": "text", - "text": "62.4" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Support" + }, + { + "kind": "text", + "text": ": Support options for AI Services can be found here: " + }, + { + "kind": "href", + "text": "Azure AI services support and help options", + "value": "https://learn.microsoft.com/en-us/azure/ai-services/cognitive-services-support-options?view=doc-intel-4.0.0" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] } ] }, @@ -21103,7 +19628,7 @@ "children": [ { "kind": "text", - "text": "80.0" + "text": "Pricing" } ] }, @@ -21112,34 +19637,39 @@ "children": [ { "kind": "text", - "text": "86.1" - } - ] - }, - { - "kind": "para", - "children": [ + "text": "View up-to-date pay-as-you-go pricing details here: " + }, { - "kind": "text", - "text": "ScienceQA" - } - ] - }, - { - "kind": "para", - "children": [ + "kind": "href", + "text": "Azure AI Content Understanding pricing", + "value": "https://azure.microsoft.com/en-us/pricing/details/content-understanding/" + }, { "kind": "text", - "text": "90.8" + "text": "." } ] - }, + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureAIDocumentIntelligence", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureAIDocumentIntelligence", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ { "kind": "para", "children": [ { "kind": "text", - "text": "70.6" + "text": "Azure AI Document Intelligence" } ] }, @@ -21148,7 +19678,7 @@ "children": [ { "kind": "text", - "text": "67.2" + "text": "Document Intelligence is a cloud-based service that enables you to build intelligent document processing solutions. Massive amounts of data, spanning a wide variety of data types, are stored in forms and documents. Document Intelligence enables you to effectively manage the velocity at which data is collected and processed and is key to improved operations, informed data-driven decisions, and enlightened innovation." } ] }, @@ -21157,34 +19687,2647 @@ "children": [ { "kind": "text", - "text": "73.7" + "text": "Core Features" } ] }, { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "text", - "text": "72.0" - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "General extraction models" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": General extraction models enable text extraction from forms and documents and return structured business-ready content ready for your organization's action, use, or development." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Read model allows you to extract written or printed text liens, words, locations, and detected languages." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Layout model, on top of text extraction, extracts structural information like tables, selection marks, paragraphs, titles, headings, and subheadings. Layout model can also output the extraction results in a Markdown format, enabling you to define your semantic chunking strategy based on provided building blocks, allowing for easier RAG (Retrieval Augmented Generation)." + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, { - "kind": "text", - "text": "79.7" - } - ] - }, + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Prebuilt models" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": Prebuilt models enable you to add intelligent document processing to your apps and flows without having to train and build your own models. Prebuilt models extract a pre-defined set of fields depending on the document type." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Financial Services and Legal Documents" + }, + { + "kind": "text", + "text": ": Credit Cards, Bank Statement, Pay Slip, Check, Invoices, Receipts, Contracts." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "US Tax Documents" + }, + { + "kind": "text", + "text": ": Unified Tax, W-2, 1099 Combo, 1040 (multiple variations), 1098 (multiple variations), 1099 (multiple variations)." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "US Mortgage Documents" + }, + { + "kind": "text", + "text": ": 1003, 1004, 1005, 1008, Closing Disclosure." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Personal Identification Documents" + }, + { + "kind": "text", + "text": ": Identity Documents, Health Insurance Cards, Marriage Certificates." + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Custom models" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": Custom models are trained using your labeled datasets to extract distinct data from forms and documents, specific to your use cases. Standalone custom models can be combined to create composed models." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Document field extraction models" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Custom generative" + }, + { + "kind": "text", + "text": ": Build a custom extraction model using generative AI for documents with unstructured format and varying templates." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Custom neural" + }, + { + "kind": "text", + "text": ": Extract data from mixed-type documents." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Custom template" + }, + { + "kind": "text", + "text": ": Extract data from static layouts." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Custom composed" + }, + { + "kind": "text", + "text": ": Extract data using a collection of models. Explicitly choose the classifier and enable confidence-based routing based on the threshold you set." + } + ] + } + ] + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Custom classification models" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Custom classifier" + }, + { + "kind": "text", + "text": ": Identify designated document types (classes) before invoking an extraction model." + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Add-on capabilities" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": Use the add-on features to extend the results to include more features extracted from your documents. Some add-on features incur an extra cost. These optional features can be enabled and disabled depending on the scenario of the document extraction." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "High resolution extraction" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Formula extraction" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Font extraction" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Barcode extraction" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Language detection" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Searchable PDF output" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Use Cases" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Accounts payable" + }, + { + "kind": "text", + "text": ": A company can increase the efficiency of its accounts payable clerks by using the prebuilt invoice model and custom forms to speed up invoice data entry with a human in the loop. The prebuilt invoice model can extract key fields, such as Invoice Total and Shipping Address." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Insurance form processing" + }, + { + "kind": "text", + "text": ": A customer can train a model by using custom forms to extract a key-value pair in insurance forms and then feeds the data to their business flow to improve the accuracy and efficiency of their process. For their unique forms, customers can build their own model that extracts key values by using custom forms. These extracted values then become actionable data for various workflows within their business." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Bank form processing" + }, + { + "kind": "text", + "text": ": A bank can use the prebuilt ID model and custom forms to speed up the data entry for \"know your customer\" documentation, or to speed up data entry for a mortgage packet. If a bank requires their customers to submit personal identification as part of a process, the prebuilt ID model can extract key values, such as Name and Document Number, speeding up the overall time for data entry." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Robotic process automation (RPA)" + }, + { + "kind": "text", + "text": ": Using the custom extraction model, customers can extract specific data needed from distinct types of documents. The key-value pair extracted can then be entered into various systems such as databases, or CRM systems, through RPA, replacing manual data entry. Customers can also use custom classification model to categorize documents based on their content and file them in proper location. As such, an organized set of data extracted from the custom model can be an essential first step to document RPA scenarios for businesses that manage large volumes of documents regularly." + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Benefits" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "No experience required" + }, + { + "kind": "text", + "text": ": Incorporate Document Intelligence features into your projects with no machine learning experience required." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Effortlessly customize your models" + }, + { + "kind": "text", + "text": ": Training your own custom extraction and classification model can be done with as little as one document labeled, making it easy to train your own models." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "State of the art models" + }, + { + "kind": "text", + "text": ": ready for use APIs, constantly enhanced models, and flexible deployment options reduce the need for ongoing manual training or extensive customization." + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Technical Details:" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Deployment" + }, + { + "kind": "text", + "text": ": Deployment options may vary by service, reference the following docs for more information: " + }, + { + "kind": "href", + "text": "Use Document Intelligence models", + "value": "https://learn.microsoft.com/azure/ai-services/document-intelligence/how-to-guides/use-sdk-rest-api?view=doc-intel-3.1.0&tabs=linux&pivots=programming-language-rest-api" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "href", + "text": "Install and run containers", + "value": "https://learn.microsoft.com/azure/ai-services/document-intelligence/containers/install-run?view=doc-intel-4.0.0&tabs=read" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Requirements" + }, + { + "kind": "text", + "text": ": Requirements may vary slightly depending on the model you are using to analyze the documents. Reference the following docs for more information: " + }, + { + "kind": "href", + "text": "Service quotas and limits", + "value": "https://learn.microsoft.com/azure/ai-services/document-intelligence/service-limits?view=doc-intel-4.0.0" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Support" + }, + { + "kind": "text", + "text": ": Support options for AI Services can be found here: " + }, + { + "kind": "href", + "text": "Azure AI services support and help options - Azure AI services | Microsoft Learn", + "value": "https://learn.microsoft.com/azure/ai-services/cognitive-services-support-options?context=%2Fazure%2Fai-services%2Fdocument-intelligence%2Fcontext%2Fcontext&view=doc-intel-4.0.0" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Pricing" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "View up-to-date pricing information for the pay-as-you-go pricing model here: " + }, + { + "kind": "href", + "text": "Azure AI Document Intelligence pricing", + "value": "https://azure.microsoft.com/pricing/details/ai-document-intelligence/" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureAIVision", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureAIVision", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Azure AI Vision" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Introduction" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "The Azure AI Vision service gives you access to advanced algorithms that process images and videos and return insights based on the visual features and content you are interested in. Azure AI Vision can power a diverse set of scenarios, including digital asset management, video content search & summary, identity verification, generating accessible alt-text for images, and many more. The key product categories for Azure AI Vision include Video Analysis, Image Analysis, Face, and Optical Character Recognition." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Core Features" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Video analysis" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": Video Analysis includes video-related features like Spatial Analysis and Video Retrieval. Spatial Analysis analyzes the presence and movement of people on a video feed and produces events that other systems can respond to. Video Retrieval lets you create an index of videos that you can search in your natural language." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + }, + { + "kind": "text", + "text": ": Video retrieval, spatial analysis, person counting, person in a zone, person crossing a line, person distance" + } + ] + } + ] + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Face" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": The Face service provides AI algorithms that detect, recognize, and analyze human faces in images. Facial recognition software is important in many different scenarios, such as identification, touchless access control, and face blurring for privacy." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + }, + { + "kind": "text", + "text": ": Face detection and analysis, face liveness, face identification, face verification" + } + ] + } + ] + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Image analysis" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": The Image Analysis service extracts many visual features from images, such as objects, faces, adult content, and auto-generated text descriptions." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + }, + { + "kind": "text", + "text": ": Image tagging, image classification, object detection, image captioning, dense captioning, face detection, optical character recognition, image embeddings, and image search" + } + ] + } + ] + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Optical character recognition" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Description" + }, + { + "kind": "text", + "text": ": The Optical Character Recognition (OCR) service extracts text from images. You can use the Read API to extract printed and handwritten text from photos and documents. It uses deep-learning-based models and works with text on various surfaces and backgrounds. These include business documents, invoices, receipts, posters, business cards, letters, and whiteboards. The OCR APIs support extracting printed text in several languages." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key Features" + }, + { + "kind": "text", + "text": ": OCR" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Use Cases" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Boost content discovery with image analysis" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Verify identities with the Face service" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Search content in videos" + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Benefits" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "No experience required" + }, + { + "kind": "text", + "text": ": Incorporate vision features into your projects with no machine learning experience required." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Effortlessly customize your models" + }, + { + "kind": "text", + "text": ": Customizing your image classification and object detection models can be done with as little as one image per tag, making it easy to train your own models." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "State of the art models" + }, + { + "kind": "text", + "text": ": Ready to use APIs, constantly enhanced models, and flexible deployment options reduce the need for ongoing manual training or extensive customization." + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Technical Details" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Deployment" + }, + { + "kind": "text", + "text": ": Deployment options may vary by service, reference the following docs for more information: " + }, + { + "kind": "href", + "text": "Image Analysis Overview", + "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-image-analysis?tabs=4-0" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "href", + "text": "Optical Character Recognition Overview", + "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-ocr" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "href", + "text": "Video Analysis Overview", + "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/intro-to-spatial-analysis-public-preview?tabs=sa" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "href", + "text": "Face Overview", + "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-identity" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Requirements" + }, + { + "kind": "text", + "text": ": Requirements may very slightly depending on the data you are analyzing, reference the following docs for more information: " + }, + { + "kind": "href", + "text": "Image Analysis Overview", + "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-image-analysis?tabs=4-0" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "href", + "text": "Optical Character Recognition Overview", + "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-ocr" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "href", + "text": "Video Analysis Overview", + "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/intro-to-spatial-analysis-public-preview?tabs=sa" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "href", + "text": "Face Overview", + "value": "https://learn.microsoft.com/azure/ai-services/computer-vision/overview-identity" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Support" + }, + { + "kind": "text", + "text": ": Support options for AI Services can be found here: " + }, + { + "kind": "href", + "text": "Azure AI services support and help options - Azure AI services | Microsoft Learn", + "value": "https://learn.microsoft.com/azure/ai-services/cognitive-services-support-options?context=%2Fazure%2Fai-services%2Fcomputer-vision%2Fcontext%2Fcontext" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Pricing" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "View up-to-date pricing information for the pay-as-you-go pricing model here: " + }, + { + "kind": "href", + "text": "Azure AI Vision pricing", + "value": "https://azure.microsoft.com/pricing/details/cognitive-services/computer-vision" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureContentUnderstandingLayout", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureContentUnderstandingLayout", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Azure Content Understanding - Layout" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Content Understanding Layout offers rich, structure‑aware extraction that captures text, formatting, tables, figures, and geometric layout details. It’s designed for complex document understanding workflows that require positional accuracy and deeper structural insights." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Azure Content Understanding" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Azure Content Understanding uses generative AI to process/ingest content of many types (documents, images, videos, and audio) into a user-defined output format. It offers a streamlined process to reason over large amounts of unstructured data, accelerating time-to-value by generating an output that can be integrated into automation and analytical workflows." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key capabilities" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "About this model" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "text", + "text": "Layout" + }, + { + "kind": "text", + "text": " model offers rich, structure‑aware analysis for documents that require deeper understanding of formatting, hierarchy, and spatial relationships. It combines textual extraction with geometric layout detection to support advanced automation and content reasoning." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key model capabilities" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Extracts detailed content and layout elements such as " + }, + { + "kind": "text", + "text": "words" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "paragraphs" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "tables" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "figures" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "text", + "text": "sections" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Identifies " + }, + { + "kind": "text", + "text": "document structure" + }, + { + "kind": "text", + "text": ", formatting patterns, and hierarchical organization" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Extracts " + }, + { + "kind": "text", + "text": "hyperlinks" + }, + { + "kind": "text", + "text": " embedded in documents" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Captures " + }, + { + "kind": "text", + "text": "annotations" + }, + { + "kind": "text", + "text": " such as highlights, underlines, and strikethroughs in digital PDFs" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Provides " + }, + { + "kind": "text", + "text": "precise positional information" + }, + { + "kind": "text", + "text": " for all extracted elements" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Detects all figure types—" + }, + { + "kind": "text", + "text": "charts" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "diagrams" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "pictures" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "icons" + }, + { + "kind": "text", + "text": ", and other images—with bounding box details (" + }, + { + "kind": "text", + "text": "PDF only" + }, + { + "kind": "text", + "text": ")" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Suitable for advanced workflows such as " + }, + { + "kind": "text", + "text": "document automation" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "RAG indexing" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "semantic" + }, + { + "kind": "text", + "text": " search, and any process demanding fine‑grained layout understanding" + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Pricing" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "View up-to-date pay-as-you-go pricing details here: " + }, + { + "kind": "href", + "text": "Azure AI Content Understanding pricing", + "value": "https://azure.microsoft.com/en-us/pricing/details/content-understanding/" + }, + { + "kind": "text", + "text": "." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Technical details" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Deployment" + }, + { + "kind": "text", + "text": ": Deployment options may vary by service, reference the following docs for more information: " + }, + { + "kind": "href", + "text": "Create a Microsoft Foundry resource", + "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/how-to/create-multi-service-resource" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Requirements" + }, + { + "kind": "text", + "text": ": Requirements may vary depending on the input data you are analyzing, reference the following docs for more information: " + }, + { + "kind": "href", + "text": "Service quotas and limits", + "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/service-limits" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Support" + }, + { + "kind": "text", + "text": ": Support options for AI Services can be found here: " + }, + { + "kind": "href", + "text": "Azure AI services support and help options", + "value": "https://learn.microsoft.com/en-us/azure/ai-services/cognitive-services-support-options?view=doc-intel-4.0.0" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "More information" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Learn more in the full " + }, + { + "kind": "href", + "text": "Azure AI Content Understanding documentation", + "value": "https://aka.ms/content-understanding-doc" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureContentUnderstandingRead", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureContentUnderstandingRead", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Azure Content Understanding - Read" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Content Understanding Read provides fast, reliable extraction of text and basic content elements from documents, enabling simple ingestion workflows without layout interpretation. It’s ideal for scenarios where clean text output is needed for downstream automation, classification, or search." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Azure Content Understanding" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Azure Content Understanding uses generative AI to process/ingest content of many types (documents, images, videos, and audio) into a user-defined output format. It offers a streamlined process to reason over large amounts of unstructured data, accelerating time-to-value by generating an output that can be integrated into automation and analytical workflows." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key capabilities" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "About this model" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "text", + "text": "Read" + }, + { + "kind": "text", + "text": " model provides foundational text extraction capabilities for simple, fast, and reliable ingestion of document content. It focuses on capturing textual elements without performing layout or structural analysis, making it ideal for lightweight processing and downstream text-based workflows." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Key model capabilities" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Extracts fundamental content elements such as " + }, + { + "kind": "text", + "text": "words" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "lines" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "paragraphs" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "text", + "text": "formulas" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "text", + "text": "barcodes" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Provides " + }, + { + "kind": "text", + "text": "basic OCR" + }, + { + "kind": "text", + "text": " functionality for a wide range of document types" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Returns text results " + }, + { + "kind": "text", + "text": "without layout interpretation" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Best suited for scenarios requiring " + }, + { + "kind": "text", + "text": "quick ingestion" + }, + { + "kind": "text", + "text": ", metadata extraction, transcription, or feeding clean text into analytic or search pipelines" + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Pricing" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "View up-to-date pay-as-you-go pricing details here: " + }, + { + "kind": "href", + "text": "Azure AI Content Understanding pricing", + "value": "https://azure.microsoft.com/en-us/pricing/details/content-understanding/" + }, + { + "kind": "text", + "text": "." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Technical details" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Deployment" + }, + { + "kind": "text", + "text": ": Deployment options may vary by service, reference the following docs for more information: " + }, + { + "kind": "href", + "text": "Create a Microsoft Foundry resource", + "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/how-to/create-multi-service-resource" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Requirements" + }, + { + "kind": "text", + "text": ": Requirements may vary depending on the input data you are analyzing, reference the following docs for more information: " + }, + { + "kind": "href", + "text": "Service quotas and limits", + "value": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/service-limits" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Support" + }, + { + "kind": "text", + "text": ": Support options for AI Services can be found here: " + }, + { + "kind": "href", + "text": "Azure AI services support and help options", + "value": "https://learn.microsoft.com/en-us/azure/ai-services/cognitive-services-support-options?view=doc-intel-4.0.0" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "More information" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Learn more in the full " + }, + { + "kind": "href", + "text": "Azure AI Content Understanding documentation", + "value": "https://aka.ms/content-understanding-doc" + }, + { + "kind": "text", + "text": "." + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureLanguageConversationalPiiRedaction", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureLanguageConversationalPiiRedaction", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " PII Redaction for Conversation automatically detects and masks sensitive information such as names, addresses, phone numbers, credit card details, and other personally identifiable information (PII) in meeting transcripts. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureLanguageDocumentPiiRedaction", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureLanguageDocumentPiiRedaction", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " PII Redaction for Documents automatically detects and masks sensitive information such as names, addresses, phone numbers, credit card details, and other personally identifiable information (PII) in native documents including PDF, Word, and text files. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureLanguageLanguageDetection", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureLanguageLanguageDetection", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Language detection quickly and accurately identifies the language of any text, supporting over 100 languages and dialects, including the ISO 15924 standard for a select number of languages. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureLanguageTextAnalyticsForHealth", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureLanguageTextAnalyticsForHealth", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Text Analytics for Health extracts and labels relevant medical information from unstructured clinical text, including doctors' notes, discharge summaries, and electronic health records, using named entity recognition, relation extraction, entity linking, a " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureLanguageTextPiiRedaction", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureLanguageTextPiiRedaction", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " PII Redaction for Text automatically detects and masks sensitive information such as names, addresses, phone numbers, credit card details, and other personally identifiable information (PII) in unstructured text. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureSpeechSpeechToText", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureSpeechSpeechToText", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Transcribes streaming or recorded audio into readable text across 140+ languages and dialects. Accuracy can be further optimized with custom models for your specialized use cases. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureSpeechSpeechTranslation", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureSpeechSpeechTranslation", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Translates streaming or recorded audio into text or audio across 140+ languages and dialects. Accuracy can be further optimized with custom models for your specialized use cases. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureSpeechTextToSpeech", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureSpeechTextToSpeech", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Text-to-speech enables your applications, tools, or devices to convert text into natural synthesized speech. It leverages advanced out-of-the-box [prebuilt neural voices](" + }, + { + "kind": "href", + "text": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?t", + "value": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?t" + } + ] + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureSpeechTextToSpeechAvatar", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureSpeechTextToSpeechAvatar", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Text to speech avatar converts text into a digital video of a human (either a standard avatar or a custom text to speech avatar) speaking with a natural-sounding voice. The text to speech avatar video can be synthesized asynchronously or in real time. Deve " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureSpeechVoiceLive", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureSpeechVoiceLive", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Voice Live API is a single unified API that enables low-latency, high-quality speech to speech interactions for voice agents. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureTranslatorDocumentTranslation", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureTranslatorDocumentTranslation", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Document translation is a cloud-based, multilingual service that uses AI to translate documents from one language to another while preserving the document layout. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "AzureTranslatorTextTranslation", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.AzureTranslatorTextTranslation", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Text translation is a cloud-based, multilingual service that uses neural machine translation models (NMT) and/or large language models (LLM) to translate text from one language to another, supporting 135 languages. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MaiTranscribe1", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.MaiTranscribe1", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " MAI-Transcribe-1 is an ASR model built to deliver high quality batch transcription whenever the user speaks. It is designed to achieve high accuracy across 25 languages and to adapt seamlessly to diverse accents, dialects, and regional speech patterns. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MaiTranscribe15", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.MaiTranscribe15", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " MAI-Transcribe-1.5 is the second iteration of Microsoft's best-in-class speech-to-text model family. It delivers consistently strong transcription accuracy across 43 languages, accents, speaking styles, and noisy environments, with faster inference and now " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MaiTranscribe2", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.MaiTranscribe2", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " The second generation of our speech-to-text model family more accurate, faster, and built to handle a wider range of real-world audio. MAI-Transcribe-2 transcribes reliably across accents, speaking styles, and noisy environments, and now covers 60 language " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MaiVoice1", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.MaiVoice1", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " MAI-Voice-1 is a text-to-speech (TTS) model that generates high-quality single-speaker speech and, soon, multi-speaker speech for public preview. It produces audio that strictly follows the input transcript and supports per-turn emotion control as well as " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MaiVoice2", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.MaiVoice2", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " MAI-Voice-2 is a prompted text-to-speech (TTS) model that generates high-fidelity, natural, and expressive speech across 10+ languages. It captures human-like intonation, rhythm, and emotional nuance for engaging conversational experiences. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MaiVoice2Flash", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.MaiVoice2Flash", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " MAI-Voice-2-Flash is a text-to-speech (TTS) model built for ultra-fast, low-latency generation. It delivers high-fidelity, natural, and expressive speech across 15 languages, while being optimized for real-time responsiveness for voice agents, assistants, " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "ModelRouter", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.ModelRouter", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Model router is a deployable AI model that is trained to select the most suitable large language model (LLM) for a given prompt. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "Phi3Small8kInstruct", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.Phi3Small8kInstruct", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " A 7B parameters model, proves better quality than Phi-3-mini, with a focus on high-quality, reasoning-dense data. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "Phi3Vision128kInstruct", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.Phi3Vision128kInstruct", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Model Summary" + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Phi-3 Vision is a lightweight, state-of-the-art open multimodal model built upon datasets which include - synthetic data and filtered publicly available websites - with a focus on very high-quality, reasoning dense data both on text and vision. The model belongs to the Phi-3 model family, and the multimodal version comes with 128K context length (in tokens) it can support. The model underwent a rigorous enhancement process, incorporating both supervised fine-tuning and direct preference optimization to ensure precise instruction adherence and robust safety measures." + } + ] + }, + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Resources and Technical Documentation:" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "href", + "text": "Phi-3 Microsoft Blog", + "value": "https://aka.ms/phi3blog-april" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "href", + "text": "Phi-3 Technical Report", + "value": "https://aka.ms/phi3-tech-report" + } + ] + } + ] + } + ] + }, { "kind": "para", "children": [ { "kind": "text", - "text": "75.7" + "text": "Training" } ] }, @@ -21193,7 +22336,156 @@ "children": [ { "kind": "text", - "text": "MathVista" + "text": "Model" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Architecture: Phi-3-Vision-128K-Instruct has 4.2B parameters and contains image encoder, connector, projector, and Phi-3 Mini language model." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Inputs: Text and Image. It’s best suited for prompts using the chat format." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Context length: 128K tokens" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "GPUs: 512 H100-80G" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Training time: 1.5 days" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Training data: 500B vision and text tokens" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Outputs: Generated text in response to the input" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Dates: Our models were trained between February and April 2024" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Status: This is a static model trained on an offline text dataset with cutoff date Mar 15, 2024. Future versions of the tuned models may be released as we improve models." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Release Type: Open weight release" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Release dates: The model weight is released on May 21, 2024." + } + ] + } + ] } ] }, @@ -21202,7 +22494,7 @@ "children": [ { "kind": "text", - "text": "44.5" + "text": "Datasets" } ] }, @@ -21211,7 +22503,65 @@ "children": [ { "kind": "text", - "text": "31.5" + "text": "Our training data includes a wide variety of sources, and is a combination of" + } + ] + }, + { + "kind": "list", + "style": "number", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "publicly available documents filtered rigorously for quality, selected high-quality educational data and code;" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "selected high-quality image-text interleave;" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "newly created synthetic, “textbook-like” data for the purpose of teaching math, coding, common sense reasoning, general knowledge of the world (science, daily activities, theory of mind, etc.), newly created image data, e.g., chart/table/diagram/slides;" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "high quality chat format supervised data covering various topics to reflect human preferences on different aspects such as instruct-following, truthfulness, honesty and helpfulness." + } + ] + } + ] } ] }, @@ -21220,7 +22570,7 @@ "children": [ { "kind": "text", - "text": "29.4" + "text": "The data collection process involved sourcing information from publicly available documents, with a meticulous approach to filtering out undesirable documents and images. To safeguard privacy, we carefully filtered various image and text data sources to remove or scrub any potentially personal data from the training data." } ] }, @@ -21229,7 +22579,16 @@ "children": [ { "kind": "text", - "text": "34.8" + "text": "More details can be found in the " + }, + { + "kind": "href", + "text": "Phi-3 Technical Report", + "value": "https://aka.ms/phi3-tech-report" + }, + { + "kind": "text", + "text": "." } ] }, @@ -21238,7 +22597,7 @@ "children": [ { "kind": "text", - "text": "33.2" + "text": "Benchmarks" } ] }, @@ -21247,7 +22606,7 @@ "children": [ { "kind": "text", - "text": "35.0" + "text": "To understand the capabilities, we compare Phi-3 Vision-128K-Instruct with a set of models over a variety of zero-shot benchmarks using our internal benchmark platform." } ] }, @@ -21256,7 +22615,7 @@ "children": [ { "kind": "text", - "text": "47.5" + "text": "\u00A0" } ] }, @@ -21265,7 +22624,7 @@ "children": [ { "kind": "text", - "text": "InterGPS" + "text": "Benchmark" } ] }, @@ -21274,7 +22633,7 @@ "children": [ { "kind": "text", - "text": "38.1" + "text": "Phi-3 Vision-128K-In1" } ] }, @@ -21283,7 +22642,7 @@ "children": [ { "kind": "text", - "text": "20.5" + "text": "LlaVA-1.6 Vicuna-7B" } ] }, @@ -21292,7 +22651,7 @@ "children": [ { "kind": "text", - "text": "22.3" + "text": "QWEN-VL Chat" } ] }, @@ -21301,7 +22660,7 @@ "children": [ { "kind": "text", - "text": "24.6" + "text": "Llama3-Llava-Next-8B" } ] }, @@ -21310,7 +22669,7 @@ "children": [ { "kind": "text", - "text": "32.1" + "text": "Claude-3 Haiku" } ] }, @@ -21319,7 +22678,7 @@ "children": [ { "kind": "text", - "text": "28.6" + "text": "Gemini 1.0 Pro V" } ] }, @@ -21328,7 +22687,7 @@ "children": [ { "kind": "text", - "text": "41.0" + "text": "GPT-4V-Turbo" } ] }, @@ -21337,7 +22696,7 @@ "children": [ { "kind": "text", - "text": "AI2D" + "text": "MMMU" } ] }, @@ -21346,7 +22705,7 @@ "children": [ { "kind": "text", - "text": "76.7" + "text": "40.4" } ] }, @@ -21355,7 +22714,7 @@ "children": [ { "kind": "text", - "text": "63.1" + "text": "34.2" } ] }, @@ -21364,7 +22723,7 @@ "children": [ { "kind": "text", - "text": "59.8" + "text": "39.0" } ] }, @@ -21373,7 +22732,7 @@ "children": [ { "kind": "text", - "text": "66.9" + "text": "36.4" } ] }, @@ -21382,7 +22741,7 @@ "children": [ { "kind": "text", - "text": "60.3" + "text": "40.7" } ] }, @@ -21391,7 +22750,7 @@ "children": [ { "kind": "text", - "text": "62.8" + "text": "42.0" } ] }, @@ -21400,7 +22759,7 @@ "children": [ { "kind": "text", - "text": "74.7" + "text": "55.5" } ] }, @@ -21409,7 +22768,7 @@ "children": [ { "kind": "text", - "text": "ChartQA" + "text": "MMBench" } ] }, @@ -21418,7 +22777,7 @@ "children": [ { "kind": "text", - "text": "81.4" + "text": "80.5" } ] }, @@ -21427,7 +22786,7 @@ "children": [ { "kind": "text", - "text": "55.0" + "text": "76.3" } ] }, @@ -21436,7 +22795,7 @@ "children": [ { "kind": "text", - "text": "50.9" + "text": "75.8" } ] }, @@ -21445,7 +22804,7 @@ "children": [ { "kind": "text", - "text": "65.8" + "text": "79.4" } ] }, @@ -21454,7 +22813,7 @@ "children": [ { "kind": "text", - "text": "59.3" + "text": "62.4" } ] }, @@ -21463,7 +22822,7 @@ "children": [ { "kind": "text", - "text": "58.0" + "text": "80.0" } ] }, @@ -21472,7 +22831,7 @@ "children": [ { "kind": "text", - "text": "62.3" + "text": "86.1" } ] }, @@ -21481,7 +22840,7 @@ "children": [ { "kind": "text", - "text": "TextVQA" + "text": "ScienceQA" } ] }, @@ -21490,7 +22849,7 @@ "children": [ { "kind": "text", - "text": "70.9" + "text": "90.8" } ] }, @@ -21499,7 +22858,7 @@ "children": [ { "kind": "text", - "text": "64.6" + "text": "70.6" } ] }, @@ -21508,7 +22867,7 @@ "children": [ { "kind": "text", - "text": "59.4" + "text": "67.2" } ] }, @@ -21517,7 +22876,7 @@ "children": [ { "kind": "text", - "text": "55.7" + "text": "73.7" } ] }, @@ -21526,7 +22885,7 @@ "children": [ { "kind": "text", - "text": "62.7" + "text": "72.0" } ] }, @@ -21535,7 +22894,7 @@ "children": [ { "kind": "text", - "text": "64.7" + "text": "79.7" } ] }, @@ -21544,7 +22903,7 @@ "children": [ { "kind": "text", - "text": "68.1" + "text": "75.7" } ] }, @@ -21553,7 +22912,7 @@ "children": [ { "kind": "text", - "text": "POPE" + "text": "MathVista" } ] }, @@ -21562,7 +22921,7 @@ "children": [ { "kind": "text", - "text": "85.8" + "text": "44.5" } ] }, @@ -21571,7 +22930,7 @@ "children": [ { "kind": "text", - "text": "87.2" + "text": "31.5" } ] }, @@ -21580,7 +22939,7 @@ "children": [ { "kind": "text", - "text": "82.6" + "text": "29.4" } ] }, @@ -21589,7 +22948,7 @@ "children": [ { "kind": "text", - "text": "87.0" + "text": "34.8" } ] }, @@ -21598,7 +22957,7 @@ "children": [ { "kind": "text", - "text": "74.4" + "text": "33.2" } ] }, @@ -21607,7 +22966,7 @@ "children": [ { "kind": "text", - "text": "84.2" + "text": "35.0" } ] }, @@ -21616,7 +22975,7 @@ "children": [ { "kind": "text", - "text": "83.7" + "text": "47.5" } ] }, @@ -21625,7 +22984,7 @@ "children": [ { "kind": "text", - "text": "Intended Uses" + "text": "InterGPS" } ] }, @@ -21634,7 +22993,7 @@ "children": [ { "kind": "text", - "text": "Primary use cases" + "text": "38.1" } ] }, @@ -21643,78 +23002,16 @@ "children": [ { "kind": "text", - "text": "The model is intended for broad commercial and research use in English. The model provides uses for general purpose AI systems and applications with visual and text input capabilities which require" + "text": "20.5" } ] }, { - "kind": "list", - "style": "number", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "memory/compute constrained environments;" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "latency bound scenarios;" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "general image understanding;" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "OCR;" - } - ] - } - ] - }, + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "chart and table understanding." - } - ] - } - ] + "kind": "text", + "text": "22.3" } ] }, @@ -21723,7 +23020,7 @@ "children": [ { "kind": "text", - "text": "The model is designed to accelerate research on efficient language and multimodal models, for use as a building block for generative AI powered features." + "text": "24.6" } ] }, @@ -21732,7 +23029,7 @@ "children": [ { "kind": "text", - "text": "Use case considerations" + "text": "32.1" } ] }, @@ -21741,7 +23038,7 @@ "children": [ { "kind": "text", - "text": "The model is not specifically designed or evaluated for all downstream purposes. Developers should consider common limitations of language models as they select use cases, and evaluate and mitigate for accuracy, safety, and fairness before using within a specific downstream use case, particularly for high-risk scenarios. Developers should be aware of and adhere to applicable laws or regulations (including privacy, trade compliance laws, etc.) that are relevant to their use case." + "text": "28.6" } ] }, @@ -21750,7 +23047,7 @@ "children": [ { "kind": "text", - "text": "Nothing contained in this Model Card should be interpreted as or deemed a restriction or modification to the license the model is released under." + "text": "41.0" } ] }, @@ -21759,7 +23056,7 @@ "children": [ { "kind": "text", - "text": "Responsible AI Considerations" + "text": "AI2D" } ] }, @@ -21768,78 +23065,16 @@ "children": [ { "kind": "text", - "text": "Like other models, the Phi family of models can potentially behave in ways that are unfair, unreliable, or offensive. Some of the limiting behaviors to be aware of include:" + "text": "76.7" } ] }, { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Quality of Service: The Phi models are trained primarily on English text. Languages other than English will experience worse performance English language varieties with less representation in the training data might experience worse performance than standard American English." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Representation of Harms & Perpetuation of Stereotypes: These models can over- or under-represent groups of people, erase representation of some groups, or reinforce demeaning or negative stereotypes. Despite safety post-training, these limitations may still be present due to differing levels of representation of different groups or prevalence of examples of negative stereotypes in training data that reflect real-world patterns and societal biases." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Inappropriate or Offensive Content: These models may produce other types of inappropriate or offensive content, which may make it inappropriate to deploy for sensitive contexts without additional mitigations that are specific to the use case." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Information Reliability: Language models can generate nonsensical content or fabricate content that might sound reasonable but is inaccurate or outdated." - } - ] - } - ] - }, + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Limited Scope for Code: Majority of Phi-3 training data is based in Python and use common packages such as \"typing, math, random, collections, datetime, itertools\". If the model generates Python scripts that utilize other packages or scripts in other languages, we strongly recommend users manually verify all API uses." - } - ] - } - ] + "kind": "text", + "text": "63.1" } ] }, @@ -21848,91 +23083,16 @@ "children": [ { "kind": "text", - "text": "Developers should apply responsible AI best practices and are responsible for ensuring that a specific use case complies with relevant laws and regulations (e.g. privacy, trade, etc.). Important areas for consideration include:" + "text": "59.8" } ] }, { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Allocation: Models may not be suitable for scenarios that could have consequential impact on legal status or the allocation of resources or life opportunities (ex: housing, employment, credit, etc.) without further assessments and additional debiasing techniques." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "High-Risk Scenarios: Developers should assess suitability of using models in high-risk scenarios where unfair, unreliable or offensive outputs might be extremely costly or lead to harm. This includes providing advice in sensitive or expert domains where accuracy and reliability are critical (ex: legal or health advice). Additional safeguards should be implemented at the application level according to the deployment context." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Misinformation: Models may produce inaccurate information. Developers should follow transparency best practices and inform end-users they are interacting with an AI system. At the application level, developers can build feedback mechanisms and pipelines to ground responses in use-case specific, contextual information, a technique known as Retrieval Augmented Generation (RAG)." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Generation of Harmful Content: Developers should assess outputs for their context and use available safety classifiers or custom solutions appropriate for their use case." - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Misuse: Other forms of misuse such as fraud, spam, or malware production may be possible, and developers should ensure that their applications do not violate applicable laws and regulations." - } - ] - } - ] - }, + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Identification of individuals: models with vision capabilities may have the potential to uniquely identify individuals in images. Safety post-training steers the model to refuse such requests, but developers should consider and implement, as appropriate, additional mitigations or user consent flows as required in their respective jurisdiction, (e.g., building measures to blur faces in image inputs before processing)." - } - ] - } - ] + "kind": "text", + "text": "66.9" } ] }, @@ -21941,7 +23101,7 @@ "children": [ { "kind": "text", - "text": "Inference Samples" + "text": "60.3" } ] }, @@ -21950,7 +23110,7 @@ "children": [ { "kind": "text", - "text": "Inference type" + "text": "62.8" } ] }, @@ -21959,7 +23119,7 @@ "children": [ { "kind": "text", - "text": "Python sample (Notebook)" + "text": "74.7" } ] }, @@ -21968,7 +23128,7 @@ "children": [ { "kind": "text", - "text": "CLI with YAML" + "text": "ChartQA" } ] }, @@ -21977,35 +23137,25 @@ "children": [ { "kind": "text", - "text": "Real time" + "text": "81.4" } ] }, { "kind": "para", "children": [ - { - "kind": "href", - "text": "image-text-to-text-generation-online-endpoint.ipynb", - "value": "https://aka.ms/azureml-infer-sdk-image-text-to-text-generation" - }, { "kind": "text", - "text": "image-text-to-text-generation-online-endpoint.ipynb" + "text": "55.0" } ] }, { "kind": "para", "children": [ - { - "kind": "href", - "text": "image-text-to-text-generation-online-endpoint.sh", - "value": "https://aka.ms/azureml-infer-cli-image-text-to-text-generation" - }, { "kind": "text", - "text": "image-text-to-text-generation-online-endpoint.sh" + "text": "50.9" } ] }, @@ -22014,7 +23164,7 @@ "children": [ { "kind": "text", - "text": "Sample inputs and outputs (for real-time inference)" + "text": "65.8" } ] }, @@ -22023,7 +23173,7 @@ "children": [ { "kind": "text", - "text": "Phi-3-vision model only supports single image per conversation. Specifically, please refer to below grid:" + "text": "59.3" } ] }, @@ -22032,7 +23182,7 @@ "children": [ { "kind": "text", - "text": "Single-turn" + "text": "58.0" } ] }, @@ -22041,7 +23191,7 @@ "children": [ { "kind": "text", - "text": "Multi-turn conversation" + "text": "62.3" } ] }, @@ -22050,7 +23200,7 @@ "children": [ { "kind": "text", - "text": "Single Image" + "text": "TextVQA" } ] }, @@ -22059,7 +23209,7 @@ "children": [ { "kind": "text", - "text": "Yes" + "text": "70.9" } ] }, @@ -22068,7 +23218,7 @@ "children": [ { "kind": "text", - "text": "Yes" + "text": "64.6" } ] }, @@ -22077,7 +23227,7 @@ "children": [ { "kind": "text", - "text": "Multiple Images" + "text": "59.4" } ] }, @@ -22086,7 +23236,7 @@ "children": [ { "kind": "text", - "text": "No" + "text": "55.7" } ] }, @@ -22095,7 +23245,7 @@ "children": [ { "kind": "text", - "text": "No" + "text": "62.7" } ] }, @@ -22104,83 +23254,52 @@ "children": [ { "kind": "text", - "text": "Sample Input" + "text": "64.7" } ] }, { - "kind": "codeblock", - "text": "\n {\n \"input_data\": {\n \"input_string\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://www.ilankelman.org/stopsigns/australia.jpg\"\n }\n },\n {\n \"type\": \"text\",\n \"text\": \"What is shown in this image? Be extremely detailed and specific.\"\n }\n ]\n }\n ],\n \"parameters\": { \"temperature\": 0.7, \"max_new_tokens\": 2048 }\n }\n }", - "language": "csharp" + "kind": "para", + "children": [ + { + "kind": "text", + "text": "68.1" + } + ] }, { "kind": "para", "children": [ { "kind": "text", - "text": "Sample Output" + "text": "POPE" } ] }, { - "kind": "codeblock", - "text": "\n {\n \"output\": \" The image captures a vibrant street scene. Dominating the left side of the image is a red stop sign, standing on a white pole. Adjacent to the stop sign, a white lion statue adds a touch of symbolism to the scene. \\n\\nThe background is filled with colorful buildings, including a red one and a yellow one, adding a lively atmosphere to the scene. The blue sky overhead and a clear white road underneath it complete the picture. \\n\\nAdding to the cultural context, there are Chinese characters visible in the background, suggesting the presence of a Chinese influence in this location. The overall scene is a blend of urban life and cultural elements.\"\n \n }", - "language": "csharp" + "kind": "para", + "children": [ + { + "kind": "text", + "text": "85.8" + } + ] }, { "kind": "para", "children": [ { "kind": "text", - "text": "Software" + "text": "87.2" } ] }, { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "href", - "text": "PyTorch", - "value": "https://github.com/pytorch/pytorch" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "href", - "text": "Transformers", - "value": "https://github.com/huggingface/transformers" - } - ] - } - ] - }, + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "href", - "text": "Flash-Attention", - "value": "https://github.com/HazyResearch/flash-attention" - } - ] - } - ] + "kind": "text", + "text": "82.6" } ] }, @@ -22189,7 +23308,7 @@ "children": [ { "kind": "text", - "text": "Hardware" + "text": "87.0" } ] }, @@ -22198,52 +23317,16 @@ "children": [ { "kind": "text", - "text": "Note that by default, the Phi-3-Vision-128K model uses flash attention, which requires certain types of GPU hardware to run. We have tested on the following GPU types:" + "text": "74.4" } ] }, { - "kind": "list", - "style": "bullet", - "items": [ - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "NVIDIA A100" - } - ] - } - ] - }, - { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "NVIDIA A6000" - } - ] - } - ] - }, + "kind": "para", + "children": [ { - "description": [ - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "NVIDIA H100" - } - ] - } - ] + "kind": "text", + "text": "84.2" } ] }, @@ -22252,7 +23335,7 @@ "children": [ { "kind": "text", - "text": "License" + "text": "83.7" } ] }, @@ -22261,7 +23344,7 @@ "children": [ { "kind": "text", - "text": "The model is licensed under the MIT license." + "text": "Intended Uses" } ] }, @@ -22270,7 +23353,7 @@ "children": [ { "kind": "text", - "text": "Trademarks" + "text": "Primary use cases" } ] }, @@ -22279,367 +23362,203 @@ "children": [ { "kind": "text", - "text": "This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow\u202F" - }, - { - "kind": "href", - "text": "Microsoft’s Trademark & Brand Guidelines", - "value": "https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks" - }, - { - "kind": "text", - "text": ". Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies." + "text": "The model is intended for broad commercial and research use in English. The model provides uses for general purpose AI systems and applications with visual and text input capabilities which require" } ] - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Phi4", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.Phi4", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Phi-4 14B, a highly capable model for low latency scenarios. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Phi4MiniInstruct", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.Phi4MiniInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " 3.8B parameters Small Language Model outperforming larger models in reasoning, math, coding, and function-calling " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Phi4MiniReasoning", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.Phi4MiniReasoning", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Lightweight math reasoning model optimized for multi-step problem solving " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Phi4MultimodalInstruct", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.Phi4MultimodalInstruct", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " First small multimodal model to have 3 modality inputs (text, audio, image), excelling in quality and efficiency " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Phi4Reasoning", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel Microsoft.Phi4Reasoning", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " State-of-the-art open-weight reasoning model. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - } - ] - }, - { - "name": "MistralAI", - "fullName": "Aspire.Hosting.Foundry.FoundryModel.MistralAI", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isStatic": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Models published by Mistral AI. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", - "sourceLines": "1878-1878", - "members": [ - { - "name": "Codestral2501", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel MistralAI.Codestral2501", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Codestral 25.01 by Mistral AI is designed for code generation, supporting 80+ programming languages, and optimized for tasks like code completion and fill-in-the-middle " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Ministral3B", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel MistralAI.Ministral3B", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Ministral 3B is a state-of-the-art Small Language Model (SLM) optimized for edge computing and on-device applications. As it is designed for low-latency and compute-efficient inference, it it also the perfect model for standard GenAI applications that have " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MistralDocumentAi2505", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel MistralAI.MistralDocumentAi2505", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Document conversion to markdown with interleaved images and text " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MistralDocumentAi2512", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel MistralAI.MistralDocumentAi2512", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Document conversion to markdown with interleaved images and text " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MistralLarge3", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel MistralAI.MistralLarge3", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Mistral Large 3 is a state-of-the-art General-purpose Multimodal granular Mixture-of-Experts model with 39B active parameters, 673B total parameters featuring 128 experts per layer and Multi-Latent attention. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MistralMedium2505", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel MistralAI.MistralMedium2505", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + }, { - "kind": "text", - "text": " Mistral Medium 3 is an advanced Large Language Model (LLM) with state-of-the-art reasoning, knowledge, coding and vision capabilities. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MistralMedium35", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel MistralAI.MistralMedium35", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "kind": "list", + "style": "number", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "memory/compute constrained environments;" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "latency bound scenarios;" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "general image understanding;" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "OCR;" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "chart and table understanding." + } + ] + } + ] + } + ] + }, { - "kind": "text", - "text": " Mistral Medium 3.5 is our first \"fully merged\" model with enhanced code and agentic capabilities. It demonstrates strong tool dexterity, making it suitable for both VIP (Vibe Code Scaffold) and agentic research tasks. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MistralOcr40", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel MistralAI.MistralOcr40", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "kind": "para", + "children": [ + { + "kind": "text", + "text": "The model is designed to accelerate research on efficient language and multimodal models, for use as a building block for generative AI powered features." + } + ] + }, { - "kind": "text", - "text": " Document conversion to markdown with interleaved images and text " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "MistralSmall2503", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel MistralAI.MistralSmall2503", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Use case considerations" + } + ] + }, { - "kind": "text", - "text": " Enhanced Mistral Small 3 with multimodal capabilities and a 128k context length. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - } - ] - }, - { - "name": "OpenAI", - "fullName": "Aspire.Hosting.Foundry.FoundryModel.OpenAI", - "namespace": "Aspire.Hosting.Foundry", - "kind": "class", - "accessibility": "public", - "isStatic": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " Models published by OpenAI. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", - "sourceLines": "1938-1938", - "members": [ - { - "name": "CodexMini", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.CodexMini", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "kind": "para", + "children": [ + { + "kind": "text", + "text": "The model is not specifically designed or evaluated for all downstream purposes. Developers should consider common limitations of language models as they select use cases, and evaluate and mitigate for accuracy, safety, and fairness before using within a specific downstream use case, particularly for high-risk scenarios. Developers should be aware of and adhere to applicable laws or regulations (including privacy, trade compliance laws, etc.) that are relevant to their use case." + } + ] + }, { - "kind": "text", - "text": " codex-mini is a fine-tuned variant of the o4-mini model, designed to deliver rapid, instruction-following performance for developers working in CLI workflows. Whether you're automating shell commands, editing scripts, or refactoring repositories, Codex-Min " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "ComputerUsePreview", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.ComputerUsePreview", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Nothing contained in this Model Card should be interpreted as or deemed a restriction or modification to the license the model is released under." + } + ] + }, { - "kind": "text", - "text": " computer-use-preview is the model for Computer Use Agent for use in Responses API. You can use computer-use-preview model to get instructions to control a browser on your computer screen and take action on a user's behalf. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, - { - "name": "Davinci002", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.Davinci002", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Responsible AI Considerations" + } + ] + }, { "kind": "para", "children": [ { - "kind": "text", - "text": "Azure Direct Models" + "kind": "text", + "text": "Like other models, the Phi family of models can potentially behave in ways that are unfair, unreliable, or offensive. Some of the limiting behaviors to be aware of include:" + } + ] + }, + { + "kind": "list", + "style": "bullet", + "items": [ + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Quality of Service: The Phi models are trained primarily on English text. Languages other than English will experience worse performance English language varieties with less representation in the training data might experience worse performance than standard American English." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Representation of Harms & Perpetuation of Stereotypes: These models can over- or under-represent groups of people, erase representation of some groups, or reinforce demeaning or negative stereotypes. Despite safety post-training, these limitations may still be present due to differing levels of representation of different groups or prevalence of examples of negative stereotypes in training data that reflect real-world patterns and societal biases." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Inappropriate or Offensive Content: These models may produce other types of inappropriate or offensive content, which may make it inappropriate to deploy for sensitive contexts without additional mitigations that are specific to the use case." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Information Reliability: Language models can generate nonsensical content or fabricate content that might sound reasonable but is inaccurate or outdated." + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Limited Scope for Code: Majority of Phi-3 training data is based in Python and use common packages such as \"typing, math, random, collections, datetime, itertools\". If the model generates Python scripts that utilize other packages or scripts in other languages, we strongly recommend users manually verify all API uses." + } + ] + } + ] } ] }, @@ -22648,7 +23567,7 @@ "children": [ { "kind": "text", - "text": "Direct from Azure models are a select portfolio curated for their market-differentiated capabilities:" + "text": "Developers should apply responsible AI best practices and are responsible for ensuring that a specific use case complies with relevant laws and regulations (e.g. privacy, trade, etc.). Important areas for consideration include:" } ] }, @@ -22663,7 +23582,7 @@ "children": [ { "kind": "text", - "text": "Secure and managed by Microsoft: Purchase and manage models directly through Azure with a single license, consistent support, and no third-party dependencies, backed by Azure's enterprise-grade infrastructure." + "text": "Allocation: Models may not be suitable for scenarios that could have consequential impact on legal status or the allocation of resources or life opportunities (ex: housing, employment, credit, etc.) without further assessments and additional debiasing techniques." } ] } @@ -22676,7 +23595,7 @@ "children": [ { "kind": "text", - "text": "Streamlined operations: Benefit from unified billing, governance, and seamless PTU portability across models hosted on Azure - all as part of one Azure AI Foundry platform." + "text": "High-Risk Scenarios: Developers should assess suitability of using models in high-risk scenarios where unfair, unreliable or offensive outputs might be extremely costly or lead to harm. This includes providing advice in sensitive or expert domains where accuracy and reliability are critical (ex: legal or health advice). Additional safeguards should be implemented at the application level according to the deployment context." } ] } @@ -22689,7 +23608,7 @@ "children": [ { "kind": "text", - "text": "Future-ready flexibility: Access the latest models as they become available, and easily test, deploy, or switch between them within Azure AI Foundry; reducing integration effort." + "text": "Misinformation: Models may produce inaccurate information. Developers should follow transparency best practices and inform end-users they are interacting with an AI system. At the application level, developers can build feedback mechanisms and pipelines to ground responses in use-case specific, contextual information, a technique known as Retrieval Augmented Generation (RAG)." } ] } @@ -22702,29 +23621,37 @@ "children": [ { "kind": "text", - "text": "Cost control and optimization: Scale on demand with pay-as-you-go flexibility or reserve PTUs for predictable performance and savings." + "text": "Generation of Harmful Content: Developers should assess outputs for their context and use available safety classifiers or custom solutions appropriate for their use case." } ] } ] - } - ] - }, - { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Learn more about " }, { - "kind": "href", - "text": "Direct from Azure models", - "value": "https://aka.ms/DirectfromAzure" + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Misuse: Other forms of misuse such as fraud, spam, or malware production may be possible, and developers should ensure that their applications do not violate applicable laws and regulations." + } + ] + } + ] }, { - "kind": "text", - "text": "." + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "Identification of individuals: models with vision capabilities may have the potential to uniquely identify individuals in images. Safety post-training steers the model to refuse such requests, but developers should consider and implement, as appropriate, additional mitigations or user consent flows as required in their respective jurisdiction, (e.g., building measures to blur faces in image inputs before processing)." + } + ] + } + ] } ] }, @@ -22733,7 +23660,7 @@ "children": [ { "kind": "text", - "text": "Key capabilities" + "text": "Inference Samples" } ] }, @@ -22742,7 +23669,7 @@ "children": [ { "kind": "text", - "text": "About this model" + "text": "Inference type" } ] }, @@ -22751,7 +23678,7 @@ "children": [ { "kind": "text", - "text": "The provider has not supplied this information." + "text": "Python sample (Notebook)" } ] }, @@ -22760,7 +23687,7 @@ "children": [ { "kind": "text", - "text": "Key model capabilities" + "text": "CLI with YAML" } ] }, @@ -22769,7 +23696,7 @@ "children": [ { "kind": "text", - "text": "Davinci-002 supports fine-tuning, allowing developers and businesses to customize the model for specific applications." + "text": "Real time" } ] }, @@ -22777,17 +23704,13 @@ "kind": "para", "children": [ { - "kind": "text", - "text": "Use cases" - } - ] - }, - { - "kind": "para", - "children": [ + "kind": "href", + "text": "image-text-to-text-generation-online-endpoint.ipynb", + "value": "https://aka.ms/azureml-infer-sdk-image-text-to-text-generation" + }, { "kind": "text", - "text": "See Responsible AI for additional considerations for responsible use." + "text": "image-text-to-text-generation-online-endpoint.ipynb" } ] }, @@ -22795,17 +23718,13 @@ "kind": "para", "children": [ { - "kind": "text", - "text": "Key use cases" - } - ] - }, - { - "kind": "para", - "children": [ + "kind": "href", + "text": "image-text-to-text-generation-online-endpoint.sh", + "value": "https://aka.ms/azureml-infer-cli-image-text-to-text-generation" + }, { "kind": "text", - "text": "The provider has not supplied this information." + "text": "image-text-to-text-generation-online-endpoint.sh" } ] }, @@ -22814,7 +23733,7 @@ "children": [ { "kind": "text", - "text": "Out of scope use cases" + "text": "Sample inputs and outputs (for real-time inference)" } ] }, @@ -22823,7 +23742,7 @@ "children": [ { "kind": "text", - "text": "The provider has not supplied this information." + "text": "Phi-3-vision model only supports single image per conversation. Specifically, please refer to below grid:" } ] }, @@ -22832,7 +23751,7 @@ "children": [ { "kind": "text", - "text": "Pricing" + "text": "Single-turn" } ] }, @@ -22841,12 +23760,7 @@ "children": [ { "kind": "text", - "text": "Pricing is based on a number of factors, including deployment type and tokens used. " - }, - { - "kind": "href", - "text": "See pricing details here.", - "value": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/microsoft/?msockid=1775f99b2f8e614e1ba1eb792e496067" + "text": "Multi-turn conversation" } ] }, @@ -22855,7 +23769,7 @@ "children": [ { "kind": "text", - "text": "Technical specs" + "text": "Single Image" } ] }, @@ -22864,7 +23778,7 @@ "children": [ { "kind": "text", - "text": "The provider has not supplied this information." + "text": "Yes" } ] }, @@ -22873,7 +23787,7 @@ "children": [ { "kind": "text", - "text": "Training cut-off date" + "text": "Yes" } ] }, @@ -22882,7 +23796,7 @@ "children": [ { "kind": "text", - "text": "This model supports 16384 max input tokens and training data is up to Sep 2021." + "text": "Multiple Images" } ] }, @@ -22891,7 +23805,7 @@ "children": [ { "kind": "text", - "text": "Training time" + "text": "No" } ] }, @@ -22900,7 +23814,7 @@ "children": [ { "kind": "text", - "text": "The provider has not supplied this information." + "text": "No" } ] }, @@ -22909,70 +23823,83 @@ "children": [ { "kind": "text", - "text": "Input formats" + "text": "Sample Input" } ] }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Your training data and validation data sets consist of input and output examples for how you would like the model to perform. The training and validation data you use must be formatted as a JSON Lines (JSONL) document in which each line represents a single prompt-completion pair." - } - ] + "kind": "codeblock", + "text": "\n {\n \"input_data\": {\n \"input_string\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://www.ilankelman.org/stopsigns/australia.jpg\"\n }\n },\n {\n \"type\": \"text\",\n \"text\": \"What is shown in this image? Be extremely detailed and specific.\"\n }\n ]\n }\n ],\n \"parameters\": { \"temperature\": 0.7, \"max_new_tokens\": 2048 }\n }\n }", + "language": "csharp" }, { "kind": "para", "children": [ { "kind": "text", - "text": "Output formats" + "text": "Sample Output" } ] }, { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "The provider has not supplied this information." - } - ] + "kind": "codeblock", + "text": "\n {\n \"output\": \" The image captures a vibrant street scene. Dominating the left side of the image is a red stop sign, standing on a white pole. Adjacent to the stop sign, a white lion statue adds a touch of symbolism to the scene. \\n\\nThe background is filled with colorful buildings, including a red one and a yellow one, adding a lively atmosphere to the scene. The blue sky overhead and a clear white road underneath it complete the picture. \\n\\nAdding to the cultural context, there are Chinese characters visible in the background, suggesting the presence of a Chinese influence in this location. The overall scene is a blend of urban life and cultural elements.\"\n \n }", + "language": "csharp" }, { "kind": "para", "children": [ { "kind": "text", - "text": "Supported languages" + "text": "Software" } ] }, { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "text", - "text": "The provider has not supplied this information." - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "href", + "text": "PyTorch", + "value": "https://github.com/pytorch/pytorch" + } + ] + } + ] + }, { - "kind": "text", - "text": "Sample JSON response" - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "href", + "text": "Transformers", + "value": "https://github.com/huggingface/transformers" + } + ] + } + ] + }, { - "kind": "text", - "text": "The provider has not supplied this information." + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "href", + "text": "Flash-Attention", + "value": "https://github.com/HazyResearch/flash-attention" + } + ] + } + ] } ] }, @@ -22981,7 +23908,7 @@ "children": [ { "kind": "text", - "text": "Model architecture" + "text": "Hardware" } ] }, @@ -22990,25 +23917,52 @@ "children": [ { "kind": "text", - "text": "Davinci-002 is the latest version of Davinci, a gpt-3 based model." + "text": "Note that by default, the Phi-3-Vision-128K model uses flash attention, which requires certain types of GPU hardware to run. We have tested on the following GPU types:" } ] }, { - "kind": "para", - "children": [ + "kind": "list", + "style": "bullet", + "items": [ { - "kind": "text", - "text": "Long context" - } - ] - }, - { - "kind": "para", - "children": [ + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "NVIDIA A100" + } + ] + } + ] + }, { - "kind": "text", - "text": "This model supports 16384 max input tokens." + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "NVIDIA A6000" + } + ] + } + ] + }, + { + "description": [ + { + "kind": "para", + "children": [ + { + "kind": "text", + "text": "NVIDIA H100" + } + ] + } + ] } ] }, @@ -23017,7 +23971,7 @@ "children": [ { "kind": "text", - "text": "Optimizing model performance" + "text": "License" } ] }, @@ -23026,7 +23980,7 @@ "children": [ { "kind": "text", - "text": "The provider has not supplied this information." + "text": "The model is licensed under the MIT license." } ] }, @@ -23035,7 +23989,7 @@ "children": [ { "kind": "text", - "text": "Additional assets" + "text": "Trademarks" } ] }, @@ -23044,81 +23998,328 @@ "children": [ { "kind": "text", - "text": "Learn more at https://learn.microsoft.com/azure/cognitive-services/openai/concepts/models" - } - ] - }, - { - "kind": "para", - "children": [ + "text": "This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow\u202F" + }, { - "kind": "text", - "text": "Training disclosure" - } - ] - }, - { - "kind": "para", - "children": [ + "kind": "href", + "text": "Microsoft’s Trademark & Brand Guidelines", + "value": "https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks" + }, { "kind": "text", - "text": "Training, testing and validation" + "text": ". Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies." } ] - }, + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "Phi4", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.Phi4", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "The provider has not supplied this information." - } - ] - }, + "kind": "text", + "text": " Phi-4 14B, a highly capable model for low latency scenarios. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "Phi4MiniInstruct", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.Phi4MiniInstruct", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Distribution" - } - ] - }, + "kind": "text", + "text": " 3.8B parameters Small Language Model outperforming larger models in reasoning, math, coding, and function-calling " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "Phi4MiniReasoning", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.Phi4MiniReasoning", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Lightweight math reasoning model optimized for multi-step problem solving " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "Phi4MultimodalInstruct", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.Phi4MultimodalInstruct", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " First small multimodal model to have 3 modality inputs (text, audio, image), excelling in quality and efficiency " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "Phi4Reasoning", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel Microsoft.Phi4Reasoning", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " State-of-the-art open-weight reasoning model. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + } + ] + }, + { + "name": "MistralAI", + "fullName": "Aspire.Hosting.Foundry.FoundryModel.MistralAI", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Models published by Mistral AI. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", + "sourceLines": "1890-1890", + "members": [ + { + "name": "Codestral2501", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel MistralAI.Codestral2501", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Codestral 25.01 by Mistral AI is designed for code generation, supporting 80+ programming languages, and optimized for tasks like code completion and fill-in-the-middle " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "Ministral3B", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel MistralAI.Ministral3B", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Ministral 3B is a state-of-the-art Small Language Model (SLM) optimized for edge computing and on-device applications. As it is designed for low-latency and compute-efficient inference, it it also the perfect model for standard GenAI applications that have " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MistralDocumentAi2512", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel MistralAI.MistralDocumentAi2512", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Document conversion to markdown with interleaved images and text " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MistralLarge3", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel MistralAI.MistralLarge3", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Mistral Large 3 is a state-of-the-art General-purpose Multimodal granular Mixture-of-Experts model with 39B active parameters, 673B total parameters featuring 128 experts per layer and Multi-Latent attention. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MistralMedium2505", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel MistralAI.MistralMedium2505", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Mistral Medium 3 is an advanced Large Language Model (LLM) with state-of-the-art reasoning, knowledge, coding and vision capabilities. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MistralMedium35", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel MistralAI.MistralMedium35", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "Distribution channels" - } - ] - }, + "kind": "text", + "text": " Mistral Medium 3.5 is our first \"fully merged\" model with enhanced code and agentic capabilities. It demonstrates strong tool dexterity, making it suitable for both VIP (Vibe Code Scaffold) and agentic research tasks. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MistralOcr40", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel MistralAI.MistralOcr40", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "The provider has not supplied this information." - } - ] - }, + "kind": "text", + "text": " Document conversion to markdown with interleaved images and text " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "MistralSmall2503", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel MistralAI.MistralSmall2503", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "More information" - } - ] - }, + "kind": "text", + "text": " Enhanced Mistral Small 3 with multimodal capabilities and a 128k context length. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + } + ] + }, + { + "name": "OpenAI", + "fullName": "Aspire.Hosting.Foundry.FoundryModel.OpenAI", + "namespace": "Aspire.Hosting.Foundry", + "kind": "class", + "accessibility": "public", + "isStatic": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Models published by OpenAI. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", + "sourceLines": "1944-1944", + "members": [ + { + "name": "CodexMini", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel OpenAI.CodexMini", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ { - "kind": "para", - "children": [ - { - "kind": "text", - "text": "The provider has not supplied this information." - } - ] + "kind": "text", + "text": " codex-mini is a fine-tuned variant of the o4-mini model, designed to deliver rapid, instruction-following performance for developers working in CLI workflows. Whether you're automating shell commands, editing scripts, or refactoring repositories, Codex-Min " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "ComputerUsePreview", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel OpenAI.ComputerUsePreview", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " computer-use-preview is the model for Computer Use Agent for use in Responses API. You can use computer-use-preview model to get instructions to control a browser on your computer screen and take action on a user's behalf. " } ] }, @@ -23322,24 +24523,6 @@ }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, - { - "name": "Gpt51Chat", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.Gpt51Chat", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " gpt-5.1-chat (preview) is an advanced, natural, multimodal, and context-aware conversations for enterprise applications. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, { "name": "Gpt51Codex", "kind": "field", @@ -23412,24 +24595,6 @@ }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, - { - "name": "Gpt52Chat", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.Gpt52Chat", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " gpt-5.2-chat (preview) is an advanced, natural, multimodal, and context-aware conversations for enterprise applications. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, { "name": "Gpt52Codex", "kind": "field", @@ -23448,24 +24613,6 @@ }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, - { - "name": "Gpt53Chat", - "kind": "field", - "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.Gpt53Chat", - "returnType": "Aspire.Hosting.Foundry.FoundryModel", - "isStatic": true, - "isReadOnly": true, - "docs": { - "summary": [ - { - "kind": "text", - "text": " gpt-5.3-chat (preview) is an advanced, natural, multimodal, and context-aware conversations for enterprise applications. " - } - ] - }, - "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" - }, { "name": "Gpt53Codex", "kind": "field", @@ -23629,10 +24776,10 @@ "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "Gpt5Chat", + "name": "Gpt5Codex", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.Gpt5Chat", + "signature": "public static readonly FoundryModel OpenAI.Gpt5Codex", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -23640,17 +24787,17 @@ "summary": [ { "kind": "text", - "text": " gpt-5-chat (preview) is an advanced, natural, multimodal, and context-aware conversations for enterprise applications. " + "text": " gpt-5-codex is designed for steerability, front end development, and interactivity. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "Gpt5Codex", + "name": "Gpt5Mini", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.Gpt5Codex", + "signature": "public static readonly FoundryModel OpenAI.Gpt5Mini", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -23658,17 +24805,17 @@ "summary": [ { "kind": "text", - "text": " gpt-5-codex is designed for steerability, front end development, and interactivity. " + "text": " gpt-5-mini is a lightweight version for cost-sensitive applications. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "Gpt5Mini", + "name": "Gpt5Nano", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.Gpt5Mini", + "signature": "public static readonly FoundryModel OpenAI.Gpt5Nano", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -23676,17 +24823,17 @@ "summary": [ { "kind": "text", - "text": " gpt-5-mini is a lightweight version for cost-sensitive applications. " + "text": " gpt-5-nano is optimized for speed, ideal for applications requiring low latency. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "Gpt5Nano", + "name": "Gpt5Pro", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.Gpt5Nano", + "signature": "public static readonly FoundryModel OpenAI.Gpt5Pro", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -23694,17 +24841,17 @@ "summary": [ { "kind": "text", - "text": " gpt-5-nano is optimized for speed, ideal for applications requiring low latency. " + "text": " gpt-5-pro uses more compute to think harder and provide consistently better answers. " } ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, { - "name": "Gpt5Pro", + "name": "Gpt6Astra", "kind": "field", "accessibility": "public", - "signature": "public static readonly FoundryModel OpenAI.Gpt5Pro", + "signature": "public static readonly FoundryModel OpenAI.Gpt6Astra", "returnType": "Aspire.Hosting.Foundry.FoundryModel", "isStatic": true, "isReadOnly": true, @@ -23712,7 +24859,7 @@ "summary": [ { "kind": "text", - "text": " gpt-5-pro uses more compute to think harder and provide consistently better answers. " + "text": " GPT‑6 Astra is OpenAI's most capable frontier reasoning model, designed for complex professional and enterprise workloads. " } ] }, @@ -23844,6 +24991,60 @@ }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, + { + "name": "GptImage25Flare", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel OpenAI.GptImage25Flare", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " A fast, cost-efficient image generation model optimized for high-volume creative workloads with strong prompt adherence and high-quality outputs. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "GptImage25Sunburst", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel OpenAI.GptImage25Sunburst", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " An advanced image model for high-quality creation, editing, and production-ready visuals. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, + { + "name": "GptLive1", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel OpenAI.GptLive1", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Gpt-live-1 is a bidirectional voice API that lets applications listen and speak simultaneously instead of forcing rigid turn boundaries. It is being developed as a new specialized API surface rather than a small extension of the current Realtime S2S deploy " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, { "name": "GptLiveTranscribe", "kind": "field", @@ -26362,7 +27563,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryResource.cs", - "sourceLines": "151-151", + "sourceLines": "155-155", "members": [ { "name": ".ctor", @@ -26552,7 +27753,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", - "sourceLines": "2981-2981", + "sourceLines": "2866-2866", "members": [ { "name": "StableDiffusion35Large", @@ -28439,7 +29640,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "513-513", + "sourceLines": "535-535", "members": [ { "name": ".ctor", @@ -28464,7 +29665,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "537-540" + "sourceLines": "559-562" }, { "name": ".ctor", @@ -28495,7 +29696,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "545-549" + "sourceLines": "567-571" }, { "name": "GetValueAsync", @@ -28535,7 +29736,7 @@ } }, "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "554-560" + "sourceLines": "576-582" }, { "name": "Set", @@ -28558,7 +29759,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "526-532" + "sourceLines": "548-554" }, { "name": "ValueExpression", @@ -28576,7 +29777,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/HostedAgent/AzureHostedAgentResource.cs", - "sourceLines": "519-519" + "sourceLines": "541-541" } ] }, @@ -28730,7 +29931,7 @@ ] }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs", - "sourceLines": "3471-3471", + "sourceLines": "3356-3356", "members": [ { "name": "Grok4", @@ -28840,6 +30041,24 @@ }, "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" }, + { + "name": "Grok46", + "kind": "field", + "accessibility": "public", + "signature": "public static readonly FoundryModel XAI.Grok46", + "returnType": "Aspire.Hosting.Foundry.FoundryModel", + "isStatic": true, + "isReadOnly": true, + "docs": { + "summary": [ + { + "kind": "text", + "text": " Grok 4.6 is a multimodal large language model from xAI designed for coding, engineering, knowledge work, research, and agentic workflows, with improvements in reasoning, task completion, and long-horizon problem solving. " + } + ] + }, + "sourceFile": "src/Aspire.Hosting.Foundry/FoundryModel.Generated.cs" + }, { "name": "GrokCodeFast1", "kind": "field", diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Garnet.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Garnet.13.6.0.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Garnet.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Garnet.13.6.0.json index 2fc7e3a75..ba425b0b6 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Garnet.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Garnet.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Garnet", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.Go.13.5.4-preview.1.26464.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.Go.13.6.0-preview.1.26479.8.json similarity index 99% rename from src/frontend/src/data/pkgs/Aspire.Hosting.Go.13.5.4-preview.1.26464.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.Go.13.6.0-preview.1.26479.8.json index 6ea6d9476..728079bc5 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.Go.13.5.4-preview.1.26464.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.Go.13.6.0-preview.1.26479.8.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.Go", - "version": "13.5.4-preview.1.26464.4", + "version": "13.6.0-preview.1.26479.8", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { diff --git a/src/frontend/src/data/pkgs/Aspire.Hosting.JavaScript.13.5.4.json b/src/frontend/src/data/pkgs/Aspire.Hosting.JavaScript.13.6.0.json similarity index 59% rename from src/frontend/src/data/pkgs/Aspire.Hosting.JavaScript.13.5.4.json rename to src/frontend/src/data/pkgs/Aspire.Hosting.JavaScript.13.6.0.json index ace7192ca..893bdee4b 100644 --- a/src/frontend/src/data/pkgs/Aspire.Hosting.JavaScript.13.5.4.json +++ b/src/frontend/src/data/pkgs/Aspire.Hosting.JavaScript.13.6.0.json @@ -1,10 +1,10 @@ { "package": { "name": "Aspire.Hosting.JavaScript", - "version": "13.5.4", + "version": "13.6.0", "targetFramework": "net10.0", "sourceRepository": "https://github.com/microsoft/aspire", - "sourceCommit": "9c1b401dd67746739044f68959cbf4d3d7af93a6" + "sourceCommit": "56f3e9c0d216c0c7069dabb49dd0464e4827744f" }, "types": [ { @@ -18,11 +18,49 @@ "summary": [ { "kind": "text", - "text": " Provides extension methods for adding JavaScript applications to an " + "text": " Fluent flag-surface extensions for " }, { "kind": "cref", - "value": "T:Aspire.Hosting.IDistributedApplicationBuilder" + "value": "T:Aspire.Hosting.JavaScript.DenoAppResource" + }, + { + "kind": "text", + "text": ". " + } + ], + "remarks": [ + { + "kind": "text", + "text": " These methods let a caller express the full Deno CLI flag surface (permissions, resolution flags, unstable features, watch/inspect, sub-command modes, and script args) directly on " + }, + { + "kind": "code", + "text": "AddDenoApp" + }, + { + "kind": "text", + "text": ", so a Deno workload no longer has to fall back to a raw " + }, + { + "kind": "code", + "text": "AddExecutable(\"name\", \"deno\", ...)" + }, + { + "kind": "text", + "text": ". All methods mutate a single " + }, + { + "kind": "cref", + "value": "T:Aspire.Hosting.JavaScript.DenoCommandLineAnnotation" + }, + { + "kind": "text", + "text": "; flags compose regardless of call order and are emitted in valid Deno CLI order: " + }, + { + "kind": "code", + "text": "deno [runtime-flags] [script-args]" }, { "kind": "text", @@ -30,8 +68,8 @@ } ] }, - "sourceFile": "src/Aspire.Hosting.JavaScript/JavaScriptHostingExtensions.cs", - "sourceLines": "31-31", + "sourceFile": "src/Aspire.Hosting.JavaScript/DenoHostingExtensions.cs", + "sourceLines": "24-24", "members": [ { "name": "AddBunApp", @@ -180,14 +218,14 @@ ] }, "sourceFile": "src/Aspire.Hosting.JavaScript/JavaScriptHostingExtensions.cs", - "sourceLines": "484-731" + "sourceLines": "478-704" }, { - "name": "AddJavaScriptApp", + "name": "AddDenoApp", "kind": "method", "accessibility": "public", - "signature": "public static IResourceBuilder JavaScriptHostingExtensions.AddJavaScriptApp(this IDistributedApplicationBuilder builder, string name, string appDirectory, string runScriptName = \"dev\")", - "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", + "signature": "public static IResourceBuilder JavaScriptHostingExtensions.AddDenoApp(this IDistributedApplicationBuilder builder, string name, string appDirectory, string scriptPath)", + "returnType": "Aspire.Hosting.ApplicationModel.IResourceBuilder", "isStatic": true, "isExtension": true, "parameters": [ @@ -205,72 +243,283 @@ "type": "string" }, { - "name": "runScriptName", - "type": "string", - "isOptional": true, - "defaultValue": "dev" + "name": "scriptPath", + "type": "string" } ], "attributes": [ { "name": "Aspire.Hosting.AspireExportAttribute" + }, + { + "name": "System.Diagnostics.CodeAnalysis.ExperimentalAttribute", + "constructorArguments": [ + "ASPIREDENO001" + ], + "arguments": { + "UrlFormat": "https://aka.ms/aspire/diagnostics/{0}" + } } ], "docs": { "summary": [ { "kind": "text", - "text": " Adds a JavaScript application resource to the distributed application using the specified app directory and run script. " + "text": " Adds a Deno application to the application model. Deno should be available on the PATH. " } ], "remarks": [ { "kind": "text", - "text": " If a Dockerfile does not exist in the application's directory, one will be generated automatically when publishing. The method configures the resource with Node.js defaults and sets up npm integration. " + "text": " In run mode this method executes the script directly using " + }, + { + "kind": "code", + "text": "deno run -A