diff --git a/.agents/skills/doc-writer/SKILL.md b/.agents/skills/doc-writer/SKILL.md index 91e2d85c9..214fe49c2 100644 --- a/.agents/skills/doc-writer/SKILL.md +++ b/.agents/skills/doc-writer/SKILL.md @@ -132,7 +132,7 @@ import InstallPackage from "@components/InstallPackage.astro"; import InstallDotNetPackage from "@components/InstallDotNetPackage.astro"; import AsciinemaPlayer from "@components/AsciinemaPlayer.astro"; import Badge from "@astrojs/starlight/components/Badge.astro"; -import Image from "astro:assets"; +import { Image } from "astro:assets"; ``` ### Component Usage @@ -452,9 +452,10 @@ Aspire supports both **C# AppHosts** (`AppHost.cs`) and **TypeScript AppHosts** ### Core Principles 1. **Always show both languages**: Every AppHost-focused example, walkthrough, and AppHost code sample must include both C# and TypeScript variants unless the feature is genuinely language-specific. -2. **Use neutral framing**: Write prose that applies to both languages. Say "In your AppHost" not "In your C# project". Say "Add a Redis resource" not "Call `builder.AddRedis()`". -3. **Neither language is the default**: Don't present C# first as the "real" example and TypeScript as an afterthought. Both tabs are equal peers. -4. **Verify TypeScript APIs exist**: Before writing a TypeScript example, confirm the API exists in the TypeScript AppHost SDK. Do not invent TypeScript samples — if you are unsure whether an API is available, flag it for review. +2. **Show implementations, not availability notes**: When a TypeScript AppHost API exists, demonstrate it in a complete TypeScript tab beside the C# example. A note or callout that only names the available TypeScript methods does not satisfy language parity. +3. **Use neutral framing**: Write prose that applies to both languages. Say "In your AppHost" not "In your C# project". Say "Add a Redis resource" not "Call `builder.AddRedis()`". +4. **Neither language is the default**: Don't present C# first as the "real" example and TypeScript as an afterthought. Both tabs are equal peers. +5. **Verify TypeScript APIs exist**: Before writing a TypeScript example, confirm the API exists in the TypeScript AppHost SDK. Do not invent TypeScript samples — if you are unsure whether an API is available, flag it for review. ### AppHost tabs pattern for AppHost content @@ -538,6 +539,8 @@ If a hosting integration does not yet have TypeScript AppHost support, show only Do **not** wrap a single language in a single-language `` component — that creates a misleading UI suggesting another option exists. +Use this exception at the operation level, not as a shortcut for the whole page. If some APIs are exported to TypeScript and others are not, provide synchronized C# and TypeScript tabs for every supported operation and place the limitation beside only the unsupported operation. + ## Integration Documentation ### File Location @@ -569,7 +572,7 @@ description: Learn how to use the [Technology] integration with Aspire. import { Aside, Tabs, TabItem } from "@astrojs/starlight/components"; import InstallPackage from "@components/InstallPackage.astro"; -import Image from "astro:assets"; +import { Image } from "astro:assets"; import techIcon from "@assets/icons/technology.svg"; @@ -578,6 +581,7 @@ import techIcon from "@assets/icons/technology.svg"; alt="Technology logo" width={100} height={100} + fit="contain" style="float: left; margin-right: 1rem;" data-zoom-off /> @@ -768,11 +772,14 @@ For collapsed sections with children: ### Update Integration Links -After adding integration documentation, run the update-integrations prompt to ensure the integration is indexed: +After adding or moving integration documentation: -``` -.github/prompts/update-integrations.prompt.md -``` +1. Run `pnpm --dir ./src/frontend update:integrations` when the package catalog + needs to be refreshed from NuGet. +2. Reconcile the exact package IDs and canonical documentation URLs in + `src/frontend/src/data/integration-docs.json`. +3. Run `pnpm --dir ./src/frontend test:unit:structured-data` to verify that the + mappings are unique and resolve to real pages. ## Writing Style Guidelines @@ -822,7 +829,7 @@ Place icons in `src/frontend/src/assets/icons/` ### Icon Usage ```mdx -import Image from "astro:assets"; +import { Image } from "astro:assets"; import techIcon from "@assets/icons/technology.svg"; Technology logo @@ -841,14 +849,19 @@ For light/dark theme variants: import ThemeImage from "@components/ThemeImage.astro"; ``` +When an integration logo sets both `width` and `height`, use `fit="contain"` so +Astro preserves the complete source artwork instead of cropping it to the +requested aspect ratio. `ThemeImage` applies contained fitting automatically. +Use `ThemeImage` whenever separate light and dark logo assets exist. + ### Terminal Recordings (Asciinema) For details on terminal recordings, including how to create and embed them, see the [terminal-recordings skill reference](./references/terminal-recordings.md). @@ -863,6 +876,7 @@ Before submitting documentation: 4. **Review formatting**: Verify components render correctly 5. **Run relevant tests**: Do not consider documentation or component work done until the affected tests pass 6. **Check navigation**: Confirm sidebar entries are correct +7. **Check integration logos**: At desktop and mobile widths, verify the full logo is visible, uncropped, and legible in both light and dark themes ### Documentation Validation Strategy diff --git a/.agents/skills/update-integrations/SKILL.md b/.agents/skills/update-integrations/SKILL.md index 6d85dec3a..c09be16c0 100644 --- a/.agents/skills/update-integrations/SKILL.md +++ b/.agents/skills/update-integrations/SKILL.md @@ -56,7 +56,7 @@ If the Aspire release branch is not publicly reachable yet, set one of the overr Fetch the latest package data from the configured package feeds: ```bash -cd src/frontend && node scripts/update-integrations.js +pnpm --dir ./src/frontend update:integrations ``` This writes updated package metadata to `src/frontend/src/data/aspire-integrations.json`. The script queries the NuGet v3 API for packages matching `owner:aspire`, `Aspire.Hosting.`, and `CommunityToolkit.Aspire`, then filters out deprecated, unlisted, and excluded packages. @@ -118,7 +118,7 @@ The documentation site organizes integrations into these categories: 1. Match against existing similar package mappings in `integration-docs.json` 2. Infer from the package name and technology category -3. **Verify the page exists** — use Playwright MCP tools or check the file system under `src/frontend/src/content/docs/` to confirm the target page is real +3. **Verify the page exists** — check the file system under `src/frontend/src/content/docs/`, then use Playwright CLI to confirm the route renders 4. If no valid documentation page can be found, flag the package for manual review ### 5. Generate API reference data @@ -223,6 +223,12 @@ Do not assume a page exists without verification. Write the updated `integration-docs.json` maintaining consistent formatting (2-space indentation, trailing newline). The API reference JSON files in `src/frontend/src/data/pkgs/` are written directly by the generation script and require no additional save step. +Run the structured-data tests after changing the catalog or documentation map: + +```bash +pnpm --dir ./src/frontend test:unit:structured-data +``` + ## Entry format Each entry in `integration-docs.json` follows this structure: @@ -230,7 +236,7 @@ Each entry in `integration-docs.json` follows this structure: ```json { "match": "Aspire.Hosting.Redis", - "href": "/integrations/caching/redis/" + "href": "/integrations/caching/redis/redis-get-started/" } ``` diff --git a/.github/agents/community-toolkit-integration-doc-writer.agent.md b/.github/agents/community-toolkit-integration-doc-writer.agent.md index 5f9b54f70..6873d4e6c 100644 --- a/.github/agents/community-toolkit-integration-doc-writer.agent.md +++ b/.github/agents/community-toolkit-integration-doc-writer.agent.md @@ -43,26 +43,32 @@ Documentation should match the style and format of existing documentation in the - Should no integration be provided, do not continue, instead request the user to provide one. - The Community Toolkit is found at https://github.com/CommunityToolkit/Aspire - README files for integrations are in the `src` folder of the Community Toolkit repo, under the relevant integration subfolder (using the name of the integration, such as `CommunityToolkit.Aspire.Hosting.Ollama`, `CommunityToolkit.Aspire.Hosting.Rust`, `CommunityToolkit.Aspire.SurrealDB`, etc.). -- The README file of the integration should be used as the primary source of information for generating the documentation. +- Use the integration README as the starting point. Treat the extension methods, + resource types, settings classes, generated `api/*.cs` export artifact, and + tests as the authoritative sources for API and connection behavior. ## Creating a plan -1. Review the README file of the provided Community Toolkit integration. +1. Review the README and authoritative source files for the provided Community Toolkit integration. 2. Identify the correct subfolder in the `src/frontend/src/content/docs/integrations` folder based on the integration's category. 3. Review existing integration documentation from this repo such as: - - `src/frontend/src/content/docs/integrations/ai/ollama.mdx` - - `src/frontend/src/content/docs/integrations/databases/kurrentdb.mdx` - - `src/frontend/src/content/docs/integrations/frameworks/python.mdx` + - `src/frontend/src/content/docs/integrations/ai/ollama/ollama-get-started.mdx` + - `src/frontend/src/content/docs/integrations/ai/ollama/ollama-host.mdx` + - `src/frontend/src/content/docs/integrations/ai/ollama/ollama-connect.mdx` - `src/frontend/src/content/docs/integrations/frameworks/rust.mdx` 4. Create a plan for generating the documentation that includes: - The target subfolder for the documentation. - - The filename for the documentation file (should be the name of the integration in lowercase, with spaces replaced by hyphens, and a `.mdx` extension). + - The page shape: + - `get-started`, `host`, and `connect` for integrations with a meaningful consuming-app connection flow. + - `get-started` and `host` for host-only frameworks and tools. + - A focused single page for add-on extensions that decorate an official Aspire resource. + - The filenames and routes for every page in the selected shape. - A breakdown of sections to include in the documentation, based on the README content and existing documentation style. 5. Implement the plan by creating the necessary directories and files, and writing the documentation content in Astro format. ## Update the sidebar navigation -After creating the documentation file, update `src/frontend/config/sidebar/sidebar.topics.ts` to add the new integration to the appropriate category section: +After creating the documentation, update `src/frontend/config/sidebar/integrations.topics.ts` to add the integration to the appropriate category section: 1. Locate the relevant integration category section in the sidebar (e.g., "Frameworks & runtimes", "Data & databases", "Caching & state", etc.) 2. Add a new entry to the `items` array for that category: @@ -81,11 +87,9 @@ Example entry: After completing all documentation writing and sidebar updates: -1. Execute the "Update Integration Documentation Links" prompt located at `.github/prompts/update-integrations.prompt.md` -2. This prompt will: - - Synchronize package names from the NuGet catalog with their corresponding documentation URLs - - Update `src/frontend/src/data/integration-docs.json` with mappings for the newly created documentation - - Ensure the new integration is discoverable through the integration gallery and search +1. Run `pnpm --dir ./src/frontend update:integrations` if the NuGet package catalog needs to be refreshed. +2. Reconcile each exact package ID with its canonical page in `src/frontend/src/data/integration-docs.json`. +3. Run `pnpm --dir ./src/frontend test:unit:structured-data`. This step ensures that the documentation you've created is properly indexed and linked in the Aspire documentation site. @@ -94,7 +98,7 @@ This step ensures that the documentation you've created is properly indexed and ### Frontmatter - **Title**: Should be concise and include "integration" (e.g., "Python integration", "Ollama integration") -- **Description**: A brief summary of what the integration does and its purpose. Required for all docs except framework integrations. +- **Description**: A brief summary of what the integration does and its purpose. Required for every English documentation page. - For hosting integrations: Describe what the integration orchestrates/configures - For client integrations: Describe what the client connects to and its purpose - For combined integrations: Describe both aspects @@ -119,26 +123,23 @@ This step ensures that the documentation you've created is properly indexed and ### Structure and sections -#### For hosting-only integrations (e.g., Rust, Python): +#### For host-only integrations: -1. **Introduction paragraph**: Brief description of what the integration is and what it enables -2. **Prerequisites** (if any): Use an `Aside` with type="note" for requirements like installed tools -3. **Hosting integration section**: - - Package installation with `InstallPackage` - - "Add [Technology] resource" subsection with basic example - - Configuration subsections (endpoints, arguments, volumes, bind mounts, etc.) - - Working directory explanation if relevant -4. **See also section**: Links to official docs, Community Toolkit repo, and related Aspire resources +1. Create a **get-started page** with the introduction, benefits, architecture, prerequisites, a short AppHost setup flow, and related links. +2. Create a **host page** with package installation, the basic resource example, configuration options, health behavior, and the complete exported AppHost API surface. +3. Do not create an empty or "not applicable" connect page. -#### For hosting + client integrations (e.g., Ollama, KurrentDB): +#### For connection-capable integrations: -1. **Introduction paragraph**: Brief description with link to the technology's website -2. **Hosting integration section**: +1. Create a **get-started page** with the introduction, benefits, architecture, and links to the host and connect flows. +2. Create a **host page** with: - Package installation with `InstallPackage` - "Add [Technology] resource" subsection - Configuration subsections (volumes, bind mounts, parameters, etc.) - "Hosting integration health checks" subsection (if applicable) -3. **Client integration section**: + - A connection-property summary that links to the connect page +3. Create a **connect page** with: + - The exact connection string and connection properties exposed by the resource - Package installation with `InstallDotNetPackage` - "Add [Technology] client" subsection - "Add keyed [Technology] client" subsection (if supported) @@ -149,12 +150,20 @@ This step ensures that the documentation you've created is properly indexed and - Inline delegates - "Client integration health checks" subsection (if applicable) - "Observability and telemetry" subsection (if applicable) with logging and tracing details -4. **See also section** + - C#, TypeScript, Python, and Go examples when stable clients exist +4. Add a **See also** section to each page where it helps navigation. + +#### For add-on extensions: + +Keep a focused single page adjacent to the official integration it extends. +Document the official base resource, package installation, the added +`With...` APIs, C# and TypeScript examples when exported, and any tool-specific +prerequisites. Do not present the add-on as a standalone service. ### Code blocks - Use proper syntax highlighting: `csharp`, `json`, `sql`, etc. -- Include descriptive titles: `title="C# — AppHost.cs"`, `title="JSON — appsettings.json"` +- Include descriptive titles: `title="AppHost.cs"`, `title="apphost.mts"`, `title="appsettings.json"` - For C# code in AppHost, always end with `// After adding all resources, run the app...` comment - Show complete, runnable examples - Use proper formatting and indentation diff --git a/src/frontend/scripts/update-integrations.ts b/src/frontend/scripts/update-integrations.ts index 2cea58ff6..06787b78a 100644 --- a/src/frontend/scripts/update-integrations.ts +++ b/src/frontend/scripts/update-integrations.ts @@ -255,9 +255,9 @@ export function resolveIconUrl(pkg: PackageRecord): string { } return ( - pkg.iconUrl || buildNuGetFlatContainerIconUrl(pkg.id, iconVersion) || buildNuGetIconUrl(pkg.id, iconVersion) || + pkg.iconUrl || DEFAULT_NUGET_ICON_URL ); } diff --git a/src/frontend/src/components/ThemeImage.astro b/src/frontend/src/components/ThemeImage.astro index fa91bcaa0..57ac98864 100644 --- a/src/frontend/src/components/ThemeImage.astro +++ b/src/frontend/src/components/ThemeImage.astro @@ -29,7 +29,7 @@ const { const imageWidth = width ?? dark.width; const imageHeight = height ?? dark.height; const imageClass = [classOverride, 'theme-image'].filter(Boolean).join(' '); -const imageOptions = { width: imageWidth, height: imageHeight }; +const imageOptions = { width: imageWidth, height: imageHeight, fit: 'contain' as const }; const optimizedLight = await getImage({ src: light, ...imageOptions }); const optimizedDark = await getImage({ src: dark, ...imageOptions }); const themedImageProps = { @@ -41,6 +41,7 @@ const themedImageProps = { 'data-dark-srcset': optimizedDark.srcSet.attribute, width: imageWidth, height: imageHeight, + fit: 'contain' as const, decoding: 'async' as const, loading: 'lazy' as const, }; diff --git a/src/frontend/src/data/aspire-integrations.json b/src/frontend/src/data/aspire-integrations.json index 4340b7579..bd9959c17 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.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.ai.inference/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.AI.Inference", "tags": [ "aspire", @@ -15,13 +15,13 @@ "inference", "ai-search" ], - "downloads": 62127, - "version": "13.4.0-preview.1.26281.18" + "downloads": 95209, + "version": "13.4.6-preview.1.26319.6" }, { "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.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.ai.openai/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.AI.OpenAI", "tags": [ "aspire", @@ -33,13 +33,13 @@ "ai", "openai" ], - "downloads": 623325, - "version": "13.4.0-preview.1.26281.18" + "downloads": 697175, + "version": "13.4.6-preview.1.26319.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.data.tables/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Data.Tables", "tags": [ "aspire", @@ -52,13 +52,13 @@ "table", "storage" ], - "downloads": 3672178, - "version": "13.4.0" + "downloads": 3801617, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.eventhubs/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Messaging.EventHubs", "tags": [ "aspire", @@ -72,13 +72,13 @@ "messaging", "eventing" ], - "downloads": 537243, - "version": "13.4.0" + "downloads": 637682, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.servicebus/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Messaging.ServiceBus", "tags": [ "aspire", @@ -92,13 +92,13 @@ "messaging", "eventing" ], - "downloads": 1224900, - "version": "13.4.0" + "downloads": 1517064, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.webpubsub/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Messaging.WebPubSub", "tags": [ "aspire", @@ -112,13 +112,13 @@ "pubsub", "messaging" ], - "downloads": 48837, - "version": "13.4.0" + "downloads": 62885, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.npgsql/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Npgsql", "tags": [ "aspire", @@ -134,13 +134,13 @@ "database", "data" ], - "downloads": 92211, - "version": "13.4.0" + "downloads": 113496, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.npgsql.entityframeworkcore.postgresql/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL", "tags": [ "aspire", @@ -161,13 +161,13 @@ "npgsql", "sql" ], - "downloads": 228249, - "version": "13.4.0" + "downloads": 308025, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.search.documents/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Search.Documents", "tags": [ "aspire", @@ -180,13 +180,13 @@ "ai", "ai-search" ], - "downloads": 345167, - "version": "13.4.0" + "downloads": 403442, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.security.keyvault/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Security.KeyVault", "tags": [ "aspire", @@ -199,13 +199,13 @@ "secrets", "security" ], - "downloads": 1136781, - "version": "13.4.0" + "downloads": 1340597, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.blobs/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Storage.Blobs", "tags": [ "aspire", @@ -218,13 +218,13 @@ "blobs", "blob" ], - "downloads": 5515898, - "version": "13.4.0" + "downloads": 6141472, + "version": "13.4.6" }, { "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.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.files.datalake/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Storage.Files.DataLake", "tags": [ "aspire", @@ -237,13 +237,13 @@ "files", "datalake" ], - "downloads": 1785, - "version": "13.4.0-preview.1.26281.18" + "downloads": 3672, + "version": "13.4.6-preview.1.26319.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.queues/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Storage.Queues", "tags": [ "aspire", @@ -257,13 +257,13 @@ "queues", "messaging" ], - "downloads": 1587324, - "version": "13.4.0" + "downloads": 1718455, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.confluent.kafka/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Confluent.Kafka", "tags": [ "aspire", @@ -275,8 +275,8 @@ "messaging", "eventing" ], - "downloads": 2505824, - "version": "13.4.0" + "downloads": 2579636, + "version": "13.4.6" }, { "title": "Aspire.Elastic.Clients.Elasticsearch", @@ -291,26 +291,26 @@ "cloud", "elasticsearch" ], - "downloads": 62168, + "downloads": 69886, "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting", "tags": [ "aspire", "hosting", "orchestration" ], - "downloads": 23266408, - "version": "13.4.0" + "downloads": 28548289, + "version": "13.4.6" }, { "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.8.0-preview.260528.1/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.agentframework.devui/1.13.0-preview.260703.1/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.AgentFramework.DevUI", "tags": [ "aspire", @@ -321,13 +321,13 @@ "ai", "agents" ], - "downloads": 959, - "version": "1.8.0-preview.260528.1" + "downloads": 2405, + "version": "1.13.0-preview.260703.1" }, { "title": "Aspire.Hosting.AWS", "description": "Add support for provisioning AWS application resources and configuring the AWS SDK for .NET.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.aws/13.2.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.aws/13.5.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.AWS", "tags": [ "aspire", @@ -335,13 +335,13 @@ "hosting", "aws" ], - "downloads": 481627, - "version": "13.2.0" + "downloads": 611414, + "version": "13.5.0" }, { "title": "Aspire.Hosting.Azure", "description": "Azure resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure", "tags": [ "aspire", @@ -351,13 +351,13 @@ "provisioning", "orchestration" ], - "downloads": 5718653, - "version": "13.4.0" + "downloads": 7128114, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Azure.AppConfiguration", "description": "Azure AppConfiguration resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appconfiguration/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appconfiguration/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.AppConfiguration", "tags": [ "aspire", @@ -367,13 +367,13 @@ "configuration", "cloud" ], - "downloads": 352528, - "version": "13.4.0" + "downloads": 463448, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appcontainers/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.AppContainers", "tags": [ "aspire", @@ -384,13 +384,13 @@ "cloud", "appcontainers" ], - "downloads": 733026, - "version": "13.4.0" + "downloads": 941720, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.applicationinsights/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.ApplicationInsights", "tags": [ "aspire", @@ -402,13 +402,13 @@ "cloud", "applicationinsights" ], - "downloads": 642705, - "version": "13.4.0" + "downloads": 787502, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appservice/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.AppService", "tags": [ "aspire", @@ -418,13 +418,13 @@ "cloud", "appservice" ], - "downloads": 47654, - "version": "13.4.0" + "downloads": 65545, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Azure.CognitiveServices", "description": "Azure OpenAI resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cognitiveservices/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cognitiveservices/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.CognitiveServices", "tags": [ "aspire", @@ -438,13 +438,13 @@ "services", "cloud" ], - "downloads": 619034, - "version": "13.4.0" + "downloads": 714494, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.containerregistry/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.ContainerRegistry", "tags": [ "aspire", @@ -455,13 +455,13 @@ "registry", "cloud" ], - "downloads": 411921, - "version": "13.4.0" + "downloads": 625137, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cosmosdb/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.CosmosDB", "tags": [ "aspire", @@ -474,13 +474,13 @@ "data", "nosql" ], - "downloads": 961716, - "version": "13.4.0" + "downloads": 1264783, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.eventhubs/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.EventHubs", "tags": [ "aspire", @@ -492,13 +492,13 @@ "eventing", "cloud" ], - "downloads": 323495, - "version": "13.4.0" + "downloads": 454990, + "version": "13.4.6" }, { "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.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.frontdoor/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.FrontDoor", "tags": [ "aspire", @@ -509,13 +509,13 @@ "cdn", "cloud" ], - "downloads": 1269, - "version": "13.4.0-preview.1.26281.18" + "downloads": 4848, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.Azure.Functions", "description": "Azure Functions resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.functions/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.functions/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Functions", "tags": [ "aspire", @@ -526,13 +526,13 @@ "serverless", "cloud" ], - "downloads": 1073227, - "version": "13.4.0" + "downloads": 1346779, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Azure.KeyVault", "description": "Azure resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.keyvault/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.keyvault/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.KeyVault", "tags": [ "aspire", @@ -544,13 +544,13 @@ "secrets", "cloud" ], - "downloads": 1998145, - "version": "13.4.0" + "downloads": 2585009, + "version": "13.4.6" }, { "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.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kubernetes/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Kubernetes", "tags": [ "aspire", @@ -560,13 +560,13 @@ "kubernetes", "aks" ], - "downloads": 467, - "version": "13.4.0-preview.1.26281.18" + "downloads": 1356, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.Azure.Kusto", "description": "Azure Kusto support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kusto/13.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kusto/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Kusto", "tags": [ "aspire", @@ -578,13 +578,13 @@ "data", "cloud" ], - "downloads": 5204, - "version": "13.4.0-preview.1.26281.18" + "downloads": 6469, + "version": "13.4.6-preview.1.26319.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.network/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Network", "tags": [ "aspire", @@ -599,13 +599,13 @@ "public-ip", "cloud" ], - "downloads": 121276, - "version": "13.4.0" + "downloads": 239145, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.operationalinsights/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.OperationalInsights", "tags": [ "aspire", @@ -616,13 +616,13 @@ "observability", "cloud" ], - "downloads": 1014642, - "version": "13.4.0" + "downloads": 1279407, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.postgresql/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.PostgreSQL", "tags": [ "aspire", @@ -634,13 +634,13 @@ "data", "cloud" ], - "downloads": 482407, - "version": "13.4.0" + "downloads": 614526, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Azure.Redis", "description": "Azure Redis resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.redis/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.redis/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Redis", "tags": [ "aspire", @@ -652,13 +652,13 @@ "caching", "cloud" ], - "downloads": 425925, - "version": "13.4.0" + "downloads": 508509, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.search/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Search", "tags": [ "aspire", @@ -670,13 +670,13 @@ "ai-search", "cloud" ], - "downloads": 207422, - "version": "13.4.0" + "downloads": 248269, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.servicebus/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.ServiceBus", "tags": [ "aspire", @@ -688,13 +688,13 @@ "eventing", "cloud" ], - "downloads": 1406557, - "version": "13.4.0" + "downloads": 1876468, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Azure.SignalR", "description": "Azure SignalR resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.signalr/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.signalr/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.SignalR", "tags": [ "aspire", @@ -705,13 +705,13 @@ "realtime", "cloud" ], - "downloads": 156912, - "version": "13.4.0" + "downloads": 233187, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.sql/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Sql", "tags": [ "aspire", @@ -723,13 +723,13 @@ "data", "cloud" ], - "downloads": 605868, - "version": "13.4.0" + "downloads": 749263, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Azure.Storage", "description": "Azure Storage resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.storage/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.storage/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Storage", "tags": [ "aspire", @@ -742,13 +742,13 @@ "table", "cloud" ], - "downloads": 3797907, - "version": "13.4.0" + "downloads": 4853793, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Azure.WebPubSub", "description": "Azure WebPubSub resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.webpubsub/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.webpubsub/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.WebPubSub", "tags": [ "aspire", @@ -761,13 +761,13 @@ "messaging", "cloud" ], - "downloads": 30148, - "version": "13.4.0" + "downloads": 33730, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Blazor", "description": "Blazor WebAssembly hosting support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.blazor/13.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.blazor/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Blazor", "tags": [ "aspire", @@ -777,13 +777,13 @@ "webassembly", "gateway" ], - "downloads": 26, - "version": "13.4.0-preview.1.26281.18" + "downloads": 1210, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.Browsers", "description": "Browser support for Aspire hosting.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.browsers/13.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.browsers/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Browsers", "tags": [ "aspire", @@ -794,13 +794,13 @@ "logs", "diagnostics" ], - "downloads": 44533, - "version": "13.4.0-preview.1.26281.18" + "downloads": 94623, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.ClickHouse", "description": "ClickHouse hosting support for Aspire. Adds ClickHouse container resources, databases, volumes, and health checks to the Aspire app model.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.clickhouse/13.3.5/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.clickhouse/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.ClickHouse", "tags": [ "aspire", @@ -810,71 +810,71 @@ "database", "data" ], - "downloads": 3066, - "version": "13.3.5" + "downloads": 10325, + "version": "13.4.6" }, { "title": "Aspire.Hosting.CodeGeneration.Go", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.go/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.go/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Go", "tags": [], - "downloads": 1358, - "version": "13.4.0" + "downloads": 5046, + "version": "13.4.6" }, { "title": "Aspire.Hosting.CodeGeneration.Java", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.java/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.java/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Java", "tags": [], - "downloads": 1268, - "version": "13.4.0" + "downloads": 2161, + "version": "13.4.6" }, { "title": "Aspire.Hosting.CodeGeneration.Python", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.python/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.python/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Python", "tags": [], - "downloads": 1208, - "version": "13.4.0" + "downloads": 2138, + "version": "13.4.6" }, { "title": "Aspire.Hosting.CodeGeneration.Rust", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.rust/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.rust/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Rust", "tags": [], - "downloads": 1209, - "version": "13.4.0" + "downloads": 2108, + "version": "13.4.6" }, { "title": "Aspire.Hosting.CodeGeneration.TypeScript", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.typescript/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.typescript/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.TypeScript", "tags": [], - "downloads": 17173, - "version": "13.4.0" + "downloads": 35693, + "version": "13.4.6" }, { "title": "Aspire.Hosting.DevTunnels", "description": "DevTunnels support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.devtunnels/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.devtunnels/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.DevTunnels", "tags": [ "aspire", "hosting", "devtunnels" ], - "downloads": 252456, - "version": "13.4.0" + "downloads": 377454, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Docker", "description": "Docker Compose publishing for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.docker/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.docker/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Docker", "tags": [ "aspire", @@ -882,13 +882,13 @@ "docker", "docker-compose" ], - "downloads": 399497, - "version": "13.4.0" + "downloads": 518662, + "version": "13.4.6" }, { "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.111.0/icon", + "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.113.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.DocumentDB", "tags": [ "aspire", @@ -900,8 +900,8 @@ "azure", "database" ], - "downloads": 536, - "version": "0.111.0" + "downloads": 799, + "version": "0.113.0" }, { "title": "Aspire.Hosting.Elasticsearch", @@ -914,13 +914,13 @@ "hosting", "elasticsearch" ], - "downloads": 290988, + "downloads": 352797, "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.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.entityframeworkcore/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.EntityFrameworkCore", "tags": [ "aspire", @@ -932,13 +932,13 @@ "migrations", "database" ], - "downloads": 2678, - "version": "13.4.0-preview.1.26281.18" + "downloads": 10546, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.Foundry", "description": "Microsoft Foundry resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.foundry/13.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.foundry/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Foundry", "tags": [ "aspire", @@ -952,13 +952,13 @@ "ai-search", "cloud" ], - "downloads": 11899, - "version": "13.4.0-preview.1.26281.18" + "downloads": 26350, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.Garnet", "description": "Garnet® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.garnet/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.garnet/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Garnet", "tags": [ "aspire", @@ -968,13 +968,13 @@ "cache", "caching" ], - "downloads": 75558, - "version": "13.4.0" + "downloads": 91471, + "version": "13.4.6" }, { "title": "Aspire.Hosting.GitHub.Models", "description": "GitHub Models resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.github.models/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.github.models/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.GitHub.Models", "tags": [ "aspire", @@ -984,13 +984,13 @@ "models", "ai" ], - "downloads": 20779, - "version": "13.4.0" + "downloads": 25839, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Go", "description": "Go support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.go/13.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.go/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Go", "tags": [ "aspire", @@ -1001,13 +1001,13 @@ "framework", "runtime" ], - "downloads": 29, - "version": "13.4.0-preview.1.26281.18" + "downloads": 1752, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.Integration.Analyzers", "description": "Analyzers for Aspire hosting integration authors.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.integration.analyzers/13.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.integration.analyzers/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Integration.Analyzers", "tags": [ "aspire", @@ -1017,13 +1017,13 @@ "polyglot", "integration" ], - "downloads": 140, - "version": "13.4.0-preview.1.26281.18" + "downloads": 2431, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.JavaScript", "description": "JavaScript support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.javascript/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.javascript/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.JavaScript", "tags": [ "aspire", @@ -1035,13 +1035,13 @@ "framework", "runtime" ], - "downloads": 1489760, - "version": "13.4.0" + "downloads": 2421708, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Kafka", "description": "Kafka support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kafka/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kafka/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Kafka", "tags": [ "aspire", @@ -1051,13 +1051,13 @@ "messaging", "eventing" ], - "downloads": 839294, - "version": "13.4.0" + "downloads": 1038939, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Keycloak", "description": "Keycloak support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.keycloak/13.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.keycloak/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Keycloak", "tags": [ "aspire", @@ -1068,39 +1068,39 @@ "identity", "security" ], - "downloads": 535585, - "version": "13.4.0-preview.1.26281.18" + "downloads": 676840, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.Kubernetes", "description": "Kubernetes publishing for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kubernetes/13.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kubernetes/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Kubernetes", "tags": [ "aspire", "hosting", "kubernetes" ], - "downloads": 114098, - "version": "13.4.0-preview.1.26281.18" + "downloads": 166850, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.Maui", "description": "MAUI integration for Aspire (local dev only)", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.maui/13.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.maui/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Maui", "tags": [ "aspire", "maui", "hosting" ], - "downloads": 19588, - "version": "13.4.0-preview.1.26281.18" + "downloads": 27156, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.Hosting.Milvus", "description": "Milvus vector database support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.milvus/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.milvus/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Milvus", "tags": [ "aspire", @@ -1113,13 +1113,13 @@ "data", "ai-search" ], - "downloads": 11146, - "version": "13.4.0" + "downloads": 12404, + "version": "13.4.6" }, { "title": "Aspire.Hosting.MongoDB", "description": "MongoDB support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mongodb/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mongodb/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.MongoDB", "tags": [ "aspire", @@ -1129,13 +1129,13 @@ "database", "data" ], - "downloads": 653257, - "version": "13.4.0" + "downloads": 821344, + "version": "13.4.6" }, { "title": "Aspire.Hosting.MySql", "description": "MySQL support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mysql/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mysql/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.MySql", "tags": [ "aspire", @@ -1145,13 +1145,13 @@ "database", "data" ], - "downloads": 264882, - "version": "13.4.0" + "downloads": 315182, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Nats", "description": "NATS support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.nats/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.nats/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Nats", "tags": [ "aspire", @@ -1161,13 +1161,13 @@ "messaging", "eventing" ], - "downloads": 119783, - "version": "13.4.0" + "downloads": 175488, + "version": "13.4.6" }, { "title": "Aspire.Hosting.OpenAI", "description": "OpenAI resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.openai/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.openai/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.OpenAI", "tags": [ "aspire", @@ -1176,13 +1176,13 @@ "openai", "ai" ], - "downloads": 30778, - "version": "13.4.0" + "downloads": 37550, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Oracle", "description": "Oracle Database support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.oracle/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.oracle/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Oracle", "tags": [ "aspire", @@ -1193,13 +1193,13 @@ "database", "data" ], - "downloads": 58264, - "version": "13.4.0" + "downloads": 74934, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Orleans", "description": "Orleans support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.orleans/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.orleans/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Orleans", "tags": [ "aspire", @@ -1209,13 +1209,13 @@ "messaging", "eventing" ], - "downloads": 259977, - "version": "13.4.0" + "downloads": 298196, + "version": "13.4.6" }, { "title": "Aspire.Hosting.PostgreSQL", "description": "PostgreSQL® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.postgresql/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.postgresql/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.PostgreSQL", "tags": [ "aspire", @@ -1228,13 +1228,13 @@ "database", "data" ], - "downloads": 4563564, - "version": "13.4.0" + "downloads": 5881880, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Python", "description": "Python support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.python/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.python/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Python", "tags": [ "aspire", @@ -1244,13 +1244,13 @@ "framework", "runtime" ], - "downloads": 236295, - "version": "13.4.0" + "downloads": 296542, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Qdrant", "description": "Qdrant vector database support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.qdrant/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.qdrant/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Qdrant", "tags": [ "aspire", @@ -1262,13 +1262,13 @@ "ai-search", "data" ], - "downloads": 125043, - "version": "13.4.0" + "downloads": 136877, + "version": "13.4.6" }, { "title": "Aspire.Hosting.RabbitMQ", "description": "RabbitMQ support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.rabbitmq/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.rabbitmq/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.RabbitMQ", "tags": [ "aspire", @@ -1278,13 +1278,13 @@ "messaging", "eventing" ], - "downloads": 1963416, - "version": "13.4.0" + "downloads": 2403838, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Redis", "description": "Redis® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.redis/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.redis/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Redis", "tags": [ "aspire", @@ -1294,13 +1294,13 @@ "cache", "caching" ], - "downloads": 4704732, - "version": "13.4.0" + "downloads": 5901524, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Seq", "description": "Seq support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.seq/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.seq/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Seq", "tags": [ "aspire", @@ -1310,13 +1310,13 @@ "observability", "logging" ], - "downloads": 366266, - "version": "13.4.0" + "downloads": 445749, + "version": "13.4.6" }, { "title": "Aspire.Hosting.SqlServer", "description": "Microsoft SQL Server support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.sqlserver/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.sqlserver/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.SqlServer", "tags": [ "aspire", @@ -1327,13 +1327,13 @@ "database", "data" ], - "downloads": 4881696, - "version": "13.4.0" + "downloads": 5967276, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Valkey", "description": "Valkey® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.valkey/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.valkey/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Valkey", "tags": [ "aspire", @@ -1343,13 +1343,13 @@ "cache", "caching" ], - "downloads": 337340, - "version": "13.4.0" + "downloads": 484355, + "version": "13.4.6" }, { "title": "Aspire.Hosting.Yarp", "description": "YARP support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.yarp/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.yarp/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Yarp", "tags": [ "aspire", @@ -1359,13 +1359,13 @@ "reverse-proxy", "api" ], - "downloads": 261549, - "version": "13.4.0" + "downloads": 371792, + "version": "13.4.6" }, { "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.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.keycloak.authentication/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Keycloak.Authentication", "tags": [ "aspire", @@ -1378,13 +1378,13 @@ "identity", "security" ], - "downloads": 421651, - "version": "13.4.0-preview.1.26281.18" + "downloads": 504145, + "version": "13.4.6-preview.1.26319.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.azure.cosmos/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Azure.Cosmos", "tags": [ "aspire", @@ -1400,13 +1400,13 @@ "db", "nosql" ], - "downloads": 1061305, - "version": "13.4.0" + "downloads": 1251844, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.azure.stackexchangeredis/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Azure.StackExchangeRedis", "tags": [ "aspire", @@ -1419,13 +1419,13 @@ "cache", "caching" ], - "downloads": 56953, - "version": "13.4.0" + "downloads": 81926, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.data.sqlclient/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Data.SqlClient", "tags": [ "aspire", @@ -1438,13 +1438,13 @@ "sqlserver", "sql" ], - "downloads": 1643648, - "version": "13.4.0" + "downloads": 1783071, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.entityframeworkcore.cosmos/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.EntityFrameworkCore.Cosmos", "tags": [ "aspire", @@ -1465,13 +1465,13 @@ "cosmosdb", "nosql" ], - "downloads": 169929, - "version": "13.4.0" + "downloads": 201701, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.entityframeworkcore.sqlserver/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.EntityFrameworkCore.SqlServer", "tags": [ "aspire", @@ -1490,13 +1490,13 @@ "sqlserver", "sql" ], - "downloads": 4562297, - "version": "13.4.0" + "downloads": 5198159, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.extensions.configuration.azureappconfiguration/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration", "tags": [ "aspire", @@ -1508,13 +1508,13 @@ "configuration", "appconfiguration" ], - "downloads": 349180, - "version": "13.4.0" + "downloads": 507320, + "version": "13.4.6" }, { "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.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.milvus.client/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.Milvus.Client", "tags": [ "aspire", @@ -1528,13 +1528,13 @@ "search", "ai-search" ], - "downloads": 8105, - "version": "13.4.0-preview.1.26281.18" + "downloads": 8806, + "version": "13.4.6-preview.1.26319.6" }, { "title": "Aspire.MongoDB.Driver", "description": "A generic MongoDB client that integrates with Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.MongoDB.Driver", "tags": [ "aspire", @@ -1546,13 +1546,13 @@ "database", "mongodb" ], - "downloads": 287350, - "version": "13.4.0" + "downloads": 343102, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver.v2/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.MongoDB.Driver.v2", "tags": [ "aspire", @@ -1564,13 +1564,13 @@ "database", "mongodb" ], - "downloads": 3139, - "version": "13.4.0" + "downloads": 4098, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.entityframeworkcore/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.MongoDB.EntityFrameworkCore", "tags": [ "aspire", @@ -1588,13 +1588,13 @@ "o/rm", "mongodb" ], - "downloads": 2202, - "version": "13.4.0" + "downloads": 4145, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mysqlconnector/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.MySqlConnector", "tags": [ "aspire", @@ -1608,13 +1608,13 @@ "mysql", "sql" ], - "downloads": 2453724, - "version": "13.4.0" + "downloads": 2461438, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.nats.net/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.NATS.Net", "tags": [ "aspire", @@ -1626,13 +1626,13 @@ "messaging", "eventing" ], - "downloads": 112134, - "version": "13.4.0" + "downloads": 145492, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.npgsql/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Npgsql", "tags": [ "aspire", @@ -1647,13 +1647,13 @@ "npgsql", "sql" ], - "downloads": 2953264, - "version": "13.4.0" + "downloads": 3236432, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.npgsql.entityframeworkcore.postgresql/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL", "tags": [ "aspire", @@ -1674,13 +1674,13 @@ "npgsql", "sql" ], - "downloads": 5205140, - "version": "13.4.0" + "downloads": 5992378, + "version": "13.4.6" }, { "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.4.0-preview.1.26281.18/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.openai/13.4.6-preview.1.26319.6/icon", "href": "https://www.nuget.org/packages/Aspire.OpenAI", "tags": [ "aspire", @@ -1691,13 +1691,13 @@ "ai", "openai" ], - "downloads": 533353, - "version": "13.4.0-preview.1.26281.18" + "downloads": 615289, + "version": "13.4.6-preview.1.26319.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.oracle.entityframeworkcore/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Oracle.EntityFrameworkCore", "tags": [ "aspire", @@ -1716,13 +1716,13 @@ "oracle", "sql" ], - "downloads": 226035, - "version": "13.4.0" + "downloads": 237032, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.pomelo.entityframeworkcore.mysql/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Pomelo.EntityFrameworkCore.MySql", "tags": [ "aspire", @@ -1742,13 +1742,13 @@ "mysql", "sql" ], - "downloads": 388117, - "version": "13.4.0" + "downloads": 406776, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.qdrant.client/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Qdrant.Client", "tags": [ "aspire", @@ -1761,13 +1761,13 @@ "database", "ai-search" ], - "downloads": 95317, - "version": "13.4.0" + "downloads": 108643, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.rabbitmq.client/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.RabbitMQ.Client", "tags": [ "aspire", @@ -1782,13 +1782,13 @@ "messaging", "eventing" ], - "downloads": 826025, - "version": "13.4.0" + "downloads": 988644, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.rabbitmq.client.v6/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.RabbitMQ.Client.v6", "tags": [ "aspire", @@ -1803,13 +1803,13 @@ "messaging", "eventing" ], - "downloads": 3407, - "version": "13.4.0" + "downloads": 4379, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.seq/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.Seq", "tags": [ "aspire", @@ -1821,13 +1821,13 @@ "observability", "logging" ], - "downloads": 413676, - "version": "13.4.0" + "downloads": 465315, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.StackExchange.Redis", "tags": [ "aspire", @@ -1839,13 +1839,13 @@ "caching", "redis" ], - "downloads": 9553130, - "version": "13.4.0" + "downloads": 10656461, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis.distributedcaching/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.StackExchange.Redis.DistributedCaching", "tags": [ "aspire", @@ -1859,13 +1859,13 @@ "distributedcache", "redis" ], - "downloads": 2337937, - "version": "13.4.0" + "downloads": 2800204, + "version": "13.4.6" }, { "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.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis.outputcaching/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.StackExchange.Redis.OutputCaching", "tags": [ "aspire", @@ -1880,13 +1880,13 @@ "outputcache", "redis" ], - "downloads": 771546, - "version": "13.4.0" + "downloads": 868880, + "version": "13.4.6" }, { "title": "Aspire.TypeSystem", "description": "Aspire Type System (ATS) APIs for Aspire polyglot support.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.typesystem/13.4.0/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.typesystem/13.4.6/icon", "href": "https://www.nuget.org/packages/Aspire.TypeSystem", "tags": [ "aspire", @@ -1894,8 +1894,45 @@ "typesystem", "polyglot" ], - "downloads": 18229, - "version": "13.4.0" + "downloads": 40258, + "version": "13.4.6" + }, + { + "title": "CommunityToolkit.Aspire.Bitwarden.SecretManager", + "description": "An Aspire client integration for Bitwarden Secrets Manager.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.bitwarden.secretmanager/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Bitwarden.SecretManager", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "bitwarden", + "secrets", + "secret-manager", + "client" + ], + "downloads": 236, + "version": "13.4.1-beta.686" + }, + { + "title": "CommunityToolkit.Aspire.DuckDB.NET.Data", + "description": "An Aspire client integration for the DuckDB.NET.Data package.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.duckdb.net.data/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.DuckDB.NET.Data", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "client", + "duckdb", + "analytics", + "olap", + "ado.net" + ], + "downloads": 525, + "version": "13.4.1-beta.686" }, { "title": "CommunityToolkit.Aspire.GoFeatureFlag", @@ -1910,7 +1947,7 @@ "gofeatureflag", "client" ], - "downloads": 45506, + "downloads": 48059, "version": "13.4.0" }, { @@ -1926,12 +1963,12 @@ "hosting", "activemq" ], - "downloads": 62412, + "downloads": 68031, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.Adminer", - "description": "An Aspire integration for adminer hosting.", + "description": "An Aspire hosting integration for the Adminer database management container.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.adminer/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Adminer", "tags": [ @@ -1942,13 +1979,13 @@ "hosting", "adminer" ], - "downloads": 153269, + "downloads": 196895, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.Azure.Dapr", "description": "Azure Dapr support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.azure.dapr/13.4.0-preview.1.260602-0230/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.azure.dapr/13.0.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Azure.Dapr", "tags": [ "aspire", @@ -1959,21 +1996,27 @@ "dapr", "azure" ], - "downloads": 67102, + "downloads": 75527, "version": "13.0.0" }, { "title": "CommunityToolkit.Aspire.Hosting.Azure.Dapr.Redis", - "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.azure.dapr.redis/13.4.0-preview.1.260602-0230/icon", + "description": "An Aspire hosting integration for configuring Azure Cache for Redis as a Dapr state store or pub/sub component in your AppHost.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.azure.dapr.redis/13.0.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Azure.Dapr.Redis", "tags": [ "aspire", "integration", "communitytoolkit", - "dotnetcommunitytoolkit" + "dotnetcommunitytoolkit", + "hosting", + "azure", + "dapr", + "redis", + "state-store", + "pubsub" ], - "downloads": 45992, + "downloads": 49418, "version": "13.0.0" }, { @@ -1990,7 +2033,7 @@ "dataapibuilder", "hosting" ], - "downloads": 62912, + "downloads": 65877, "version": "13.4.0" }, { @@ -2007,13 +2050,49 @@ "azure", "extensions" ], - "downloads": 3190, + "downloads": 4544, "version": "13.4.0" }, + { + "title": "CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager", + "description": "An Aspire hosting integration for Bitwarden Secrets Manager.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.bitwarden.secretmanager/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "hosting", + "bitwarden", + "secrets", + "secret-manager" + ], + "downloads": 240, + "version": "13.4.1-beta.686" + }, + { + "title": "CommunityToolkit.Aspire.Hosting.Bun", + "description": "An Aspire integration for hosting Bun apps. DEPRECATED: Use Aspire.Hosting.JavaScript and builder.AddBunApp(...) instead. This package will be removed in a future release.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.bun/13.3.0/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Bun", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "hosting", + "bun", + "javascript", + "deprecated" + ], + "downloads": 94891, + "version": "13.3.0" + }, { "title": "CommunityToolkit.Aspire.Hosting.Dapr", "description": "Dapr support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.dapr/13.4.0-preview.1.260602-0230/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.dapr/13.0.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Dapr", "tags": [ "aspire", @@ -2023,7 +2102,7 @@ "hosting", "dapr" ], - "downloads": 479096, + "downloads": 590781, "version": "13.0.0" }, { @@ -2037,12 +2116,12 @@ "communitytoolkit", "dotnetcommunitytoolkit" ], - "downloads": 3947, + "downloads": 4408, "version": "9.1.1-beta.197" }, { "title": "CommunityToolkit.Aspire.Hosting.DbGate", - "description": "An Aspire integration for dbgate hosting.", + "description": "An Aspire hosting integration for the DbGate database management container.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.dbgate/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.DbGate", "tags": [ @@ -2053,9 +2132,25 @@ "hosting", "dbgate" ], - "downloads": 198252, + "downloads": 247035, "version": "13.4.0" }, + { + "title": "CommunityToolkit.Aspire.Hosting.Dbx", + "description": "An Aspire hosting integration for the Dbx database management container.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.dbx/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Dbx", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "hosting", + "dbx" + ], + "downloads": 570, + "version": "13.4.1-beta.686" + }, { "title": "CommunityToolkit.Aspire.Hosting.Deno", "description": "An Aspire integration for hosting Deno apps.", @@ -2069,12 +2164,30 @@ "hosting", "deno" ], - "downloads": 60956, + "downloads": 64363, "version": "13.4.0" }, + { + "title": "CommunityToolkit.Aspire.Hosting.DuckDB", + "description": "An Aspire hosting integration for providing a DuckDB database connection.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.duckdb/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.DuckDB", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "hosting", + "duckdb", + "analytics", + "olap" + ], + "downloads": 506, + "version": "13.4.1-beta.686" + }, { "title": "CommunityToolkit.Aspire.Hosting.Elasticsearch.Extensions", - "description": "An Aspire integration for extending Elasticsearch hosting.", + "description": "An Aspire hosting integration for extending Elasticsearch resources with additional management tooling.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.elasticsearch.extensions/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Elasticsearch.Extensions", "tags": [ @@ -2086,7 +2199,7 @@ "elasticsearch", "elasticvue" ], - "downloads": 3533, + "downloads": 5046, "version": "13.4.0" }, { @@ -2104,7 +2217,7 @@ "feature-flags", "openfeature" ], - "downloads": 16156, + "downloads": 19730, "version": "13.4.0" }, { @@ -2121,7 +2234,7 @@ "flyway", "migration" ], - "downloads": 17803, + "downloads": 30674, "version": "13.4.0" }, { @@ -2137,7 +2250,7 @@ "hosting", "gofeatureflag" ], - "downloads": 44283, + "downloads": 46593, "version": "13.4.0" }, { @@ -2153,7 +2266,7 @@ "hosting", "java" ], - "downloads": 68706, + "downloads": 72718, "version": "13.4.0" }, { @@ -2173,9 +2286,27 @@ "pnpm", "npm" ], - "downloads": 84840, + "downloads": 119907, "version": "13.4.0" }, + { + "title": "CommunityToolkit.Aspire.Hosting.K3s", + "description": "An Aspire hosting integration for k3s. Provides AddK3sCluster, AddHelmRelease (via alpine/helm), AddK8sManifest with Kustomize support (via alpine/kubectl), and AddServiceEndpoint for in-process WebSocket port-forwarding. No host-side kubectl or helm required.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.k3s/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.K3s", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "kubernetes", + "k3s", + "hosting", + "cluster" + ], + "downloads": 268, + "version": "13.4.1-beta.686" + }, { "title": "CommunityToolkit.Aspire.Hosting.k6", "description": "Grafana k6 support for Aspire.", @@ -2189,13 +2320,13 @@ "hosting", "k6" ], - "downloads": 47762, + "downloads": 56800, "version": "13.4.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.4.0-preview.1.260602-0230/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.keycloak.extensions/13.4.1-beta.686/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Keycloak.Extensions", "tags": [ "aspire", @@ -2207,8 +2338,8 @@ "hosting", "extensions" ], - "downloads": 8751, - "version": "13.4.0-preview.1.260602-0230" + "downloads": 11615, + "version": "13.4.1-beta.686" }, { "title": "CommunityToolkit.Aspire.Hosting.KurrentDB", @@ -2223,7 +2354,7 @@ "hosting", "kurrentdb" ], - "downloads": 11764, + "downloads": 14504, "version": "13.4.0" }, { @@ -2239,9 +2370,28 @@ "hosting", "lavinmq" ], - "downloads": 41593, + "downloads": 44123, "version": "13.4.0" }, + { + "title": "CommunityToolkit.Aspire.Hosting.Logto", + "description": "Aspire hosting extensions for Logto (includes PostgreSQL and Redis integration).", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.logto/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Logto", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "logto", + "redis", + "postgres", + "hosting", + "extensions" + ], + "downloads": 398, + "version": "13.4.1-beta.686" + }, { "title": "CommunityToolkit.Aspire.Hosting.MailPit", "description": "An Aspire component leveraging the MailPit container.", @@ -2256,12 +2406,12 @@ "smtp", "hosting" ], - "downloads": 204870, + "downloads": 263492, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.McpInspector", - "description": "An Aspire to run the MCP Inspector against a MCP server.", + "description": "An Aspire hosting integration to run the MCP Inspector against a Model Context Protocol (MCP) server.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.mcpinspector/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.McpInspector", "tags": [ @@ -2274,7 +2424,7 @@ "debugging", "hosting" ], - "downloads": 52346, + "downloads": 60245, "version": "13.4.0" }, { @@ -2290,7 +2440,7 @@ "hosting", "meilisearch" ], - "downloads": 63356, + "downloads": 67480, "version": "13.4.0" }, { @@ -2309,12 +2459,12 @@ "storage", "deprecated" ], - "downloads": 120047, + "downloads": 145837, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.MongoDB.Extensions", - "description": "An Aspire integration for extending mongodb hosting.", + "description": "An Aspire hosting integration for extending MongoDB resources with additional management tooling.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.mongodb.extensions/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.MongoDB.Extensions", "tags": [ @@ -2326,12 +2476,12 @@ "mongodb", "dbgate" ], - "downloads": 66149, + "downloads": 75654, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.MySql.Extensions", - "description": "An Aspire integration for extending mysql hosting.", + "description": "An Aspire hosting integration for extending MySQL resources with additional management tooling.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.mysql.extensions/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.MySql.Extensions", "tags": [ @@ -2343,7 +2493,7 @@ "mysql", "dbgate" ], - "downloads": 36684, + "downloads": 41371, "version": "13.4.0" }, { @@ -2360,7 +2510,7 @@ "ngrok", "tunnels" ], - "downloads": 119713, + "downloads": 145378, "version": "13.4.0" }, { @@ -2377,12 +2527,12 @@ "ollama", "ai" ], - "downloads": 284114, + "downloads": 327024, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector", - "description": "An Aspire component to add an OpenTelemetry Collector into the OTLP pipeline", + "description": "An Aspire hosting integration to add an OpenTelemetry Collector into the OTLP pipeline.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.opentelemetrycollector/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector", "tags": [ @@ -2390,10 +2540,11 @@ "integration", "communitytoolkit", "dotnetcommunitytoolkit", + "hosting", "opentelemetry", "observability" ], - "downloads": 27638, + "downloads": 43602, "version": "13.4.0" }, { @@ -2410,12 +2561,12 @@ "smtp", "hosting" ], - "downloads": 52786, + "downloads": 57105, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.Perl", - "description": "An aspire integration with support for Perl.", + "description": "An Aspire hosting integration for hosting Perl apps.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.perl/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Perl", "tags": [ @@ -2426,12 +2577,12 @@ "hosting", "perl" ], - "downloads": 113, + "downloads": 792, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions", - "description": "An Aspire integration for extending postgres hosting.", + "description": "An Aspire hosting integration for extending PostgreSQL resources with additional management tooling.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.postgresql.extensions/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions", "tags": [ @@ -2443,7 +2594,7 @@ "postgres", "dbgate" ], - "downloads": 79329, + "downloads": 91242, "version": "13.4.0" }, { @@ -2462,7 +2613,7 @@ "script", "hosting" ], - "downloads": 47173, + "downloads": 55415, "version": "13.4.0" }, { @@ -2479,7 +2630,7 @@ "uvicorn", "python" ], - "downloads": 71031, + "downloads": 74602, "version": "13.4.0" }, { @@ -2495,12 +2646,12 @@ "hosting", "ravendb" ], - "downloads": 58961, + "downloads": 64987, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.Redis.Extensions", - "description": "An Aspire integration for extending redis hosting.", + "description": "An Aspire hosting integration for extending Redis resources with additional management tooling.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.redis.extensions/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Redis.Extensions", "tags": [ @@ -2512,7 +2663,7 @@ "redis", "dbgate" ], - "downloads": 64841, + "downloads": 70916, "version": "13.4.0" }, { @@ -2528,9 +2679,46 @@ "hosting", "rust" ], - "downloads": 59804, + "downloads": 64116, "version": "13.4.0" }, + { + "title": "CommunityToolkit.Aspire.Hosting.RustFs", + "description": "An Aspire hosting integration for the RustFS S3-compatible object storage container.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.rustfs/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.RustFs", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "hosting", + "rustfs", + "storage", + "s3-compatible" + ], + "downloads": 412, + "version": "13.4.1-beta.686" + }, + { + "title": "CommunityToolkit.Aspire.Hosting.SeaweedFS", + "description": "Provides extension methods and resource definitions for the Aspire AppHost to support running SeaweedFS containers with an S3-compatible API.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.seaweedfs/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.SeaweedFS", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "seaweedfs", + "hosting", + "cloud", + "storage", + "s3" + ], + "downloads": 261, + "version": "13.4.1-beta.686" + }, { "title": "CommunityToolkit.Aspire.Hosting.Sftp", "description": "Aspire hosting integration for the atmoz SFTP container image.", @@ -2545,7 +2733,7 @@ "sftp", "hosting" ], - "downloads": 4692, + "downloads": 6637, "version": "13.4.0" }, { @@ -2562,7 +2750,7 @@ "solr", "search" ], - "downloads": 11352, + "downloads": 13047, "version": "13.4.0" }, { @@ -2579,7 +2767,7 @@ "sql", "sqlproj" ], - "downloads": 215435, + "downloads": 265355, "version": "13.4.0" }, { @@ -2596,12 +2784,12 @@ "sql", "sqlite" ], - "downloads": 74131, + "downloads": 82717, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.SqlServer.Extensions", - "description": "An Aspire integration for extending sqlserver hosting.", + "description": "An Aspire hosting integration for extending SQL Server resources with additional management tooling.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.sqlserver.extensions/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.SqlServer.Extensions", "tags": [ @@ -2613,9 +2801,28 @@ "sqlserver", "dbgate" ], - "downloads": 130762, + "downloads": 164022, "version": "13.4.0" }, + { + "title": "CommunityToolkit.Aspire.Hosting.Squad", + "description": "An Aspire hosting integration for Squad AI-agent teams. Models a `.squad/` workspace as a first-class Aspire resource that auto-discovers the team roster and exposes it via WithReference for downstream services.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.squad/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Squad", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "hosting", + "squad", + "ai", + "agents", + "copilot" + ], + "downloads": 248, + "version": "13.4.1-beta.686" + }, { "title": "CommunityToolkit.Aspire.Hosting.Stripe", "description": "An Aspire integration for the Stripe CLI for local webhook forwarding and testing.", @@ -2631,7 +2838,7 @@ "payments", "webhooks" ], - "downloads": 5360, + "downloads": 9483, "version": "13.4.0" }, { @@ -2647,7 +2854,7 @@ "hosting", "surrealdb" ], - "downloads": 18914, + "downloads": 20275, "version": "13.4.0" }, { @@ -2663,12 +2870,12 @@ "hosting", "umami" ], - "downloads": 466, + "downloads": 1188, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Hosting.Zitadel", - "description": "An Aspire host integration for Zitadel.", + "description": "An Aspire hosting integration for the ZITADEL identity and access management container.", "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.zitadel/13.4.0/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Zitadel", "tags": [ @@ -2680,11 +2887,11 @@ "auth", "identity", "oauth2", - "authenticatioon", + "authentication", "openid-connect", "oidc" ], - "downloads": 148, + "downloads": 900, "version": "13.4.0" }, { @@ -2700,9 +2907,28 @@ "kurrentdb", "client" ], - "downloads": 8768, + "downloads": 10331, "version": "13.4.0" }, + { + "title": "CommunityToolkit.Aspire.Logto.Client", + "description": "An Aspire client integration for Logto that registers OpenID Connect (OIDC) or JWT authentication services in the dependency injection container.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.logto.client/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Logto.Client", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "client", + "logto", + "authentication", + "oidc", + "jwt" + ], + "downloads": 402, + "version": "13.4.1-beta.686" + }, { "title": "CommunityToolkit.Aspire.MassTransit.RabbitMQ", "description": "An Aspire client integration for MassTransit RabbitMQ.", @@ -2717,7 +2943,7 @@ "masstransit", "rabbitmq" ], - "downloads": 70767, + "downloads": 76425, "version": "13.4.0" }, { @@ -2733,7 +2959,7 @@ "meilisearch", "client" ], - "downloads": 72773, + "downloads": 78061, "version": "13.4.0" }, { @@ -2751,13 +2977,13 @@ "data", "ado.net" ], - "downloads": 50989, + "downloads": 53779, "version": "13.4.0" }, { "title": "CommunityToolkit.Aspire.Microsoft.EntityFrameworkCore.Sqlite", "description": "An Aspire client integration for the Microsoft.EntityFrameworkCore.Sqlite package.", - "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.microsoft.entityframeworkcore.sqlite/13.4.0-preview.1.260602-0230/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.microsoft.entityframeworkcore.sqlite/9.7.2/icon", "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.Microsoft.EntityFrameworkCore.Sqlite", "tags": [ "aspire", @@ -2772,7 +2998,7 @@ "ef", "orm" ], - "downloads": 60027, + "downloads": 62698, "version": "9.7.2" }, { @@ -2791,7 +3017,7 @@ "storage", "deprecated" ], - "downloads": 64379, + "downloads": 71792, "version": "13.4.0" }, { @@ -2809,7 +3035,7 @@ "ollamasharp", "client" ], - "downloads": 354346, + "downloads": 409455, "version": "13.4.0" }, { @@ -2825,9 +3051,28 @@ "client", "ravendb" ], - "downloads": 64471, + "downloads": 68224, "version": "13.4.0" }, + { + "title": "CommunityToolkit.Aspire.SeaweedFS.Client", + "description": "An Aspire client integration for SeaweedFS using the AWSSDK.S3 client.", + "icon": "https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.seaweedfs.client/13.4.1-beta.686/icon", + "href": "https://www.nuget.org/packages/CommunityToolkit.Aspire.SeaweedFS.Client", + "tags": [ + "aspire", + "integration", + "communitytoolkit", + "dotnetcommunitytoolkit", + "seaweedfs", + "client", + "cloud", + "storage", + "s3" + ], + "downloads": 138, + "version": "13.4.1-beta.686" + }, { "title": "CommunityToolkit.Aspire.Sftp", "description": "An SFTP client that integrates with Aspire, including health checks, logging, and telemetry.", @@ -2841,7 +3086,7 @@ "sftp", "client" ], - "downloads": 2257, + "downloads": 3215, "version": "13.4.0" }, { @@ -2857,7 +3102,7 @@ "surrealdb", "client" ], - "downloads": 18433, + "downloads": 19700, "version": "13.4.0" } ] \ No newline at end of file diff --git a/src/frontend/src/data/integration-docs.json b/src/frontend/src/data/integration-docs.json index e7c67f277..cb9f16763 100644 --- a/src/frontend/src/data/integration-docs.json +++ b/src/frontend/src/data/integration-docs.json @@ -523,30 +523,6 @@ "match": "CommunityToolkit.Aspire.RavenDB.Client", "href": "/integrations/databases/ravendb/ravendb-get-started/" }, - { - "match": "CommunityToolkit.Aspire.Hosting.Azure.Dapr.Redis", - "href": "/integrations/frameworks/dapr/" - }, - { - "match": "CommunityToolkit.Aspire.Hosting.Azure.StaticWebApps", - "href": "/integrations/cloud/azure/overview/" - }, - { - "match": "CommunityToolkit.Aspire.Hosting.Dapr.AzureRedis", - "href": "/integrations/frameworks/dapr/" - }, - { - "match": "CommunityToolkit.Aspire.Hosting.Flagd", - "href": "/integrations/devtools/flagd/flagd-get-started/" - }, - { - "match": "CommunityToolkit.Aspire.Hosting.GoFeatureFlag", - "href": "/integrations/devtools/goff/goff-get-started/" - }, - { - "match": "CommunityToolkit.Aspire.Hosting.PowerShell", - "href": "/integrations/frameworks/powershell/" - }, { "match": "CommunityToolkit.Aspire.SurrealDb", "href": "/integrations/databases/surrealdb/surrealdb-get-started/" diff --git a/src/frontend/src/styles/site.css b/src/frontend/src/styles/site.css index fd710c6dc..9b70bfaf2 100644 --- a/src/frontend/src/styles/site.css +++ b/src/frontend/src/styles/site.css @@ -368,6 +368,15 @@ pre[data-language='console'] > code { margin-bottom: 0.5rem; } +.sl-markdown-content img.float-inline-left.icon { + width: auto; + height: auto; + max-width: 6.25rem; + max-height: 6.25rem; + object-fit: contain; + object-position: center; +} + aside { border-radius: 0.5rem; } diff --git a/src/frontend/tests/unit/custom-components.vitest.test.ts b/src/frontend/tests/unit/custom-components.vitest.test.ts index c7c582338..e7f8c1ebc 100644 --- a/src/frontend/tests/unit/custom-components.vitest.test.ts +++ b/src/frontend/tests/unit/custom-components.vitest.test.ts @@ -373,7 +373,7 @@ const basicRenderCases: BasicRenderCase[] = [ alt: 'Themed diagram', zoomable: false, }, - includes: ['theme-image', 'data-light=', 'data-dark=', 'Themed diagram'], + includes: ['theme-image', 'data-light=', 'data-dark=', 'fit=contain', 'Themed diagram'], }, { name: 'ImageShowcase renders image text and CTA', diff --git a/src/frontend/tests/unit/update-integrations.vitest.test.ts b/src/frontend/tests/unit/update-integrations.vitest.test.ts index ff7ecabf9..fc93dd751 100644 --- a/src/frontend/tests/unit/update-integrations.vitest.test.ts +++ b/src/frontend/tests/unit/update-integrations.vitest.test.ts @@ -1,11 +1,33 @@ +import { existsSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + import { describe, expect, test } from 'vitest'; +import aspireIntegrations from '@data/aspire-integrations.json'; +import integrationDocs from '@data/integration-docs.json'; + import { DEFAULT_NUGET_ICON_URL, getOfficialAspireDefaultIconPackages, resolveIconUrl, } from '../../scripts/update-integrations'; +const testsDir = path.dirname(fileURLToPath(import.meta.url)); +const docsRoot = path.resolve(testsDir, '..', '..', 'src', 'content', 'docs'); +const communityPackagePrefix = 'CommunityToolkit.Aspire'; +const communityMappings = integrationDocs.filter(({ match }) => + match.startsWith(communityPackagePrefix) +); + +function docsPageExists(href: string): boolean { + const slug = href.split(/[?#]/, 1)[0].replace(/^\/|\/$/g, ''); + return ( + existsSync(path.join(docsRoot, `${slug}.mdx`)) || + existsSync(path.join(docsRoot, slug, 'index.mdx')) + ); +} + describe('update-integrations icon handling', () => { test('uses the package version for official Aspire packages from nuget.org', () => { expect( @@ -30,6 +52,31 @@ describe('update-integrations icon handling', () => { ); }); + test('uses the selected version for Community Toolkit package icons', () => { + expect( + resolveIconUrl({ + id: 'CommunityToolkit.Aspire.Hosting.Bun', + version: '13.3.0', + iconUrl: + 'https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.bun/13.4.1-beta.686/icon', + }) + ).toBe( + 'https://api.nuget.org/v3-flatcontainer/communitytoolkit.aspire.hosting.bun/13.3.0/icon' + ); + }); + + test('keeps Community Toolkit catalog icons aligned with package versions', () => { + const mismatches = aspireIntegrations + .filter(({ title }) => title.startsWith(communityPackagePrefix)) + .filter( + ({ icon, version }) => + version != null && !icon.toLowerCase().endsWith(`/${version.toLowerCase()}/icon`) + ) + .map(({ title, version }) => `${title}@${version}`); + + expect(mismatches).toEqual([]); + }); + test('reports default icons for official Aspire packages without throwing', () => { expect( getOfficialAspireDefaultIconPackages([ @@ -57,3 +104,38 @@ describe('update-integrations icon handling', () => { ).toEqual([]); }); }); + +describe('Community Toolkit documentation mappings', () => { + test('maps each package at most once', () => { + const seen = new Set(); + const duplicates = communityMappings + .map(({ match }) => match) + .filter((match) => { + if (seen.has(match)) { + return true; + } + seen.add(match); + return false; + }); + + expect(duplicates).toEqual([]); + }); + + test('only maps packages in the current integration catalog', () => { + const catalogPackages = new Set(aspireIntegrations.map(({ title }) => title)); + const staleMappings = communityMappings + .map(({ match }) => match) + .filter((match) => !catalogPackages.has(match)); + + expect(staleMappings).toEqual([]); + }); + + test('uses trailing-slash links to existing documentation pages', () => { + const invalidDestinations = communityMappings + .filter(({ href }) => href.startsWith('/')) + .filter(({ href }) => !href.endsWith('/') || !docsPageExists(href)) + .map(({ match, href }) => `${match}: ${href}`); + + expect(invalidDestinations).toEqual([]); + }); +});