[docs] Document DotnetProjectResource-backed Blazor gateway APIs for polyglot AppHosts - #1564
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Frontend HTML artifact readyThe latest frontend build uploaded the This comment updates automatically when a new frontend build artifact is uploaded. |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use ApiReference for exported APIs and exact C# links for the experimental gateway APIs that are not exported to TypeScript. Preserve the existing code examples. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Moderate documentation inaccuracies and example/reference issues remain unresolved.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 2
Open (2)
What changed in this PR
Documents DotnetProjectResource-backed Blazor gateway APIs for polyglot AppHosts.
Changes:
- Adds C# and TypeScript gateway examples.
- Documents experimental diagnostics and publishing behavior.
- Adds API references and related links.
| File | Summary |
|---|---|
src/frontend/src/content/docs/integrations/dotnet/blazor-hosting.mdx |
Adds gateway documentation and examples; unresolved findings concern endpoint exposure, publishing behavior, API references, diagnostics, and tab ordering. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
David Pine (IEvangelist)
left a comment
There was a problem hiding this comment.
🤖 Automated docs-accuracy review
Two independent phases were run and merged. Phase A verifies every factual claim against microsoft/aspire source; Phase B (doc-tester) validates the page as a new user, blind to that source.
Summary
- Phase A source of truth:
microsoft/aspire@release/13.6— SHAf544a9c660afc22ac6cdb5650c21eb2f908b3054 - Claims extracted: 11 non-narrative — ✅ 10 verified ·
⚠️ 0 verified-with-nuance · ❓ 0 unverifiable · ❌ 1 contradicted - Phase B (doc-tester): 1 route exercised (
/integrations/dotnet/blazor-hosting/) — 🔴 0 critical · 🟡 2 warnings. All internal links, both API-reference anchors, and all<ApiReference>names resolve on the live site.
Verdict: REQUEST_CHANGES — one API-behavior claim is contradicted by the source-of-truth branch (see inline comment on the caution Aside).
Phase A — Claim verification
❌ Contradicted (1)
The publish "fails fast / not supported" caveat is contradicted by release/13.6. See the inline comment for source evidence.
✅ Verified claims (10) — click to expand evidence
| id | Claim | Evidence — microsoft/aspire @ f544a9c660 |
|---|---|---|
| A1 | BlazorGatewayExtensions.AddBlazorWasmProject exists |
src/Aspire.Hosting.Blazor/BlazorGatewayExtensions.cs:107 (AddBlazorWasmProject<TProject>) |
| A2 | BlazorGatewayExtensions.AddBlazorGateway exists |
BlazorGatewayExtensions.cs:35 |
| A3 | ResourceBuilderExtensions.WithExternalHttpEndpoints exists |
src/Aspire.Hosting/ResourceBuilderExtensions.cs:1920 |
| A4 | BlazorGatewayExtensions.WithBlazorClientApp (ProjectResource) exists |
BlazorGatewayExtensions.cs:165 |
| A5 | AddDotnetProjectBlazorGateway exists, [AspireExport] (polyglot), [Experimental(ASPIREDOTNETPROJECT001)] |
BlazorGatewayExtensions.cs:88-98; added by microsoft/aspire#19026 (c128892591) |
| A6 | WithBlazorClientApp(DotnetProjectResource, BlazorWasmAppResource, string, string, bool) overload |
BlazorGatewayExtensions.cs:193-201 |
| A7 | DotnetProjectHostingExtensions.AddDotnetProject exists (ns Aspire.Hosting) |
src/Aspire.Hosting.Dotnet/DotnetProjectHostingExtensions.cs:13,249 |
| A8 | DotnetProjectResource type exists |
src/Aspire.Hosting.Dotnet/DotnetProjectResource.cs:28 (ns Aspire.Hosting.Dotnet) |
| A9 | TS exports addDotnetProjectBlazorGateway / withBlazorClientApp / addBlazorWasmProject |
[AspireExport] (camelCase), [AspireExport("withDotnetProjectBlazorClientApp", MethodName="withBlazorClientApp")], [AspireExport("addBlazorWasmProject")] |
| A10 | Both DotnetProject APIs gated behind ASPIREDOTNETPROJECT001 |
BlazorGatewayExtensions.cs:88,193 |
FYI (non-blocking): the checked-in public-API baseline src/Aspire.Hosting.Blazor/api/Aspire.Hosting.Blazor.cs still shows [AspireExportIgnore] on these two members — it is stale relative to the compiled source ([AspireExport]). The source .cs is authoritative, so the doc's "callable from polyglot AppHosts" premise is correct.
Nuance (non-blocking, pre-existing): the whole BlazorGatewayExtensions class is also [Experimental("ASPIREBLAZOR001")], so the C# sample's AddBlazorWasmProject<>() call additionally raises ASPIREBLAZOR001, which the page never mentions. This is a page-wide framing gap, not introduced by this PR.
Phase B — Doc-tester results (blind to microsoft/aspire source)
Route exercised: /integrations/dotnet/blazor-hosting/ (only changed page).
Method note: the PR isn't deployed and heavy local builds are disabled in this runner, so link/anchor/route resolution was validated against the docs content, the site's own route + anchor-generation code, and the live deployed site (HTTP status + anchor-id presence). No microsoft/aspire source was consulted in this phase.
| Category | Passed | Failed | Warnings |
|---|---|---|---|
| Content accuracy | — | 0 | 1 |
| Code examples | 2 | 0 | 1 |
| Links / anchors | 9 | 0 | 0 |
🔴 Critical issues
None.
🟡 Warnings
W1 (Medium) — C# sample omits experimental-diagnostic suppression. The C# AppHost.cs block calls experimental APIs but shows no #pragma warning disable ASPIREDOTNETPROJECT001. A new user copying it verbatim hits experimental-API build errors before reaching the caution Aside. The Aside does explain the diagnostic and link to suppression guidance, so this is a smoothness gap, not an error. (ASPIREBLAZOR001, which also applies via AddBlazorWasmProject<>, is never mentioned on the page.)
W2 (Low / knowledge gap) — publish behavior not runtime-tested. "publishing it currently fails fast…" is runtime behavior a browser-only blind-user pass can't execute. Flagged for runtime verification. (Phase A independently examined the source for this claim — see the inline comment.)
✅ Passed checks
- All 7 internal link targets return HTTP 200 on the live site:
blazor-hosting/,frameworks/dotnet/dotnet-host/,diagnostics/aspiredotnetproject001/,blazor-get-started/,blazor-connect/,integrations/overview/, and the API-reference…/blazorgatewayextensions/methods/page. - Both API-reference deep-link anchors exist as real heading ids on the live page:
#adddotnetprojectblazorgatewayand#withblazorclientapp-iresourcebuilder-dotnetprojectresource-iresourcebuilder-blazorwasmappresource-string-string-bool. The author correctly used a bare-name anchor for the unique method and the param-disambiguated anchor for the overloaded one. - All 5
<ApiReference>names resolve against the API data (Blazor, Dotnet, and coreAspire.Hostingpackages). - Link format: every internal link is site-relative and ends with
/, anchors placed after the trailing slash. - Examples are complete (TS imports present; C# uses standard AppHost conventions) and resource names are consistent across C#/TS (
client,gateway). The newApiReferenceimport is used.
Knowledge gaps
- KG1: Runtime behavior of
aspire publishwithAddDotnetProjectBlazorGatewaywas not executed (would require building an AppHost with the experimental API).
Phase A read microsoft/aspire@release/13.6 (f544a9c660). Phase B was blind to that source and validated the deployed docs experience.
|
CI has now failed three times in the frontend build because the twoslash validation reports six unexpected diagnostics. This is a content-change failure rather than a transient CI failure; please correct the affected code blocks before merge. |
…ps (#1780) ## Summary <!-- Describe what this pull request changes and why. --> Reconcile the 13.6 wiki audit and **all 25 open `docs-from-code` proposals targeting `release/13.6`** against the actual release source. Add missing canonical guidance rather than putting all coverage in What's new. This is a new, isolated feature PR into `release/13.6`; it does not update the release rollup #1599, merge or close another proposal, or push directly to a release branch. **Draft with explicit remaining packaging/validation gates:** the six REPL walkthroughs are source-verified, but current publicly available 13.6 packages do not contain the late `WithRepl` exports. Generated API catalogs have deliberately not been fabricated or refreshed from 14.x. See the open checklist below. ### Evidence baseline - Documentation base: `717442f6666948bcf77f3d704dc2dadf7c080ec2`. - Product source of truth: [`microsoft/aspire@e8fd6fbb954f50ccd2e66479538392f65e13e71d`](https://github.com/microsoft/aspire/tree/e8fd6fbb954f50ccd2e66479538392f65e13e71d), current `release/13.6` at audit time. Source was read from that Git object, not the stale source working directory. - [13.6 wiki](https://github.com/microsoft/aspire/wiki/13.6-Change-log) snapshot `8e01a371d4f16a1306e48174d4cf1fdeca714348`, whose cutoff is product PR 20511. Later backports 20541/20546/20548 are included here. - Proposal base branches alone were **not** used as proof of release membership. Direct ancestry and known release backports were checked. Four fallback-targeted proposals are excluded below. - Wiki link corrections: its REPL link #1752 actually covers Sandboxes; the REPL proposal is #1740. Its AOT link #1714 covers PFX certificates, not AOT. ### Complete audit-gap checklist Checked items mean documentation coverage is implemented, not that cloud deployment or every product runtime scenario was executed. - [x] **1. Dotnet API graduation:** correct removal to **13.6**, not 14.0, in What's new, both Dotnet guides, and the diagnostic page; preserve the prerelease package caveat. This applies to core `AddDotnetProject`, `DotnetProjectResource`, and related `WithBuildEnvironment` overloads, not all uses of the diagnostic. Source: microsoft/aspire#20496. - [x] **2. Sandboxes:** remove obsolete API suppressions in the article and deployment guide while preserving Azure service preview/access and prerelease package limitations. Source: microsoft/aspire#20483. - [x] **3. Docked REPL documentation:** all six PostgreSQL/MySQL/MongoDB/SQL Server/Redis/Valkey guides plus the article now cover opt-in `WithRepl`/`withRepl`, run-only availability, actual client privileges, credential handling, and explicit exit versus closing a viewer. Source: microsoft/aspire#20419, backport of microsoft/aspire#20231. Package-backed checks remain open below. - [x] **4. Terminal CLI flag:** update current 13.6 article, `with-terminal`, and all three terminal command references. Preserve `terminals.v1` and experimental hosting API distinctions. Current configuration/schema data had no flag entry to remove; historical 13.5 notes remain historical. Source: microsoft/aspire#20548. - [x] **5. First-party Rust:** rewrite both canonical Rust guides around `Aspire.Hosting.Rust`; document Cargo versus application arguments, typed targets, debugging, generated Dockerfiles, workspace context, ABI constraints, and Toolkit migration. Bacon remains explicitly Toolkit-only. Add exact first-party package mapping. Source: microsoft/aspire#18906 and current Rust README. - [x] **6. Agent setup:** align command reference, skills guide, AI-agent guide, and article on MCP opt-in, `--mcp`, chained/non-interactive behavior, seven-skill catalog, Project v2 migration, and Copilot app detection. Also fix stale default-selection text: all applicable bundle skills are preselected; companion tools remain opt-in. Sources: microsoft/aspire#19893, microsoft/aspire#20405, microsoft/aspire#19820. - [x] **7. Deno AppHost runtime:** document Deno 2+ detection, commands, permissions, native watch/type checking, doctor, and `DENO_CERT`, separately from Deno guest hosting. Source: microsoft/aspire#18627, distinct from microsoft/aspire#18628. - [x] **8. Native AOT / Fluent UI v5:** concise article, dashboard exploration, and standalone guidance; automatic packaged-dashboard selection, no invented performance figures. Source: microsoft/aspire#19565 and release packaging sources. - [x] **9. NuGet:** document bundled in-process operations, credential providers, non-interactive authentication, and realistic troubleshooting. Correct the proposal's `dotnet nuget locals` authentication advice: cache commands do not authenticate a feed. Source: microsoft/aspire#20391. - [x] **10. Multithreaded builds:** article and coordinated-build guide explain `-mt`, SDK detection, distinct project/file-based SDK floors, and fallback. Source: microsoft/aspire#20441. - [x] **11. Radius:** add a real deployment guide with C#/TypeScript setup, recipe-backed connections versus local endpoints, per-resource credential behavior, unauthenticated Redis limitation, secret exposure boundaries, and actionable runtime diagnostics 070–091. Wire navigation and exact package mapping. Source: microsoft/aspire#19555 and release README. - [x] **12. Connection aliases:** replace contradictory no-encoding guidance, retain composed logical-key-first lookup and portable-target behavior, explain collision detection and custom-publisher metadata. Source: microsoft/aspire#19729. - [x] **13. Connector Namespace / Toolbox / provisioning:** add Connector Namespace walkthrough, security/consent/revocation limits and mapping/sidebar; add Foundry Toolbox walkthrough, connection properties, roles, index prerequisites, approval enforcement boundaries, immutable versions, and existing-resource behavior. Extend existing Azure provisioning guide without a duplicate page. Sources: microsoft/aspire#19024, microsoft/aspire#17742, microsoft/aspire#20131. - [x] **14. Remaining high-impact items:** article covers opt-in manifest-aware DNX and new-template CLI bundling (existing SDK guides retained), migration skill and Copilot app detection; canonical inline `CsiVolumeSourceV1`/`VolumeV1.Csi` example, management links, Cosmos vNext telemetry, and AI Inference `GetModelInfoAsync`/`/info` health checks with `DisableHealthChecks`. No Azure OpenAI health-check claim. Sources: microsoft/aspire#19310, microsoft/aspire#19076, microsoft/aspire#19826, microsoft/aspire#20070, microsoft/aspire#15671, microsoft/aspire#15969. - [x] **15. All 25 proposal dispositions:** listed below, including newer dashboard backports and four exclusions. Existing Sandbox inference coverage is retained rather than copied from a stale draft. - [ ] **16. Refresh generated API/catalog/Twoslash data from an official post-backport 13.6 build.** Existing `26473.12`/`a11eca96` data remains untouched. The newest public `dotnet9` feed package checked, `13.6.0-preview.1.26474.10` at `43496a2a306c81c862c947b11b4f4e5494b6fe08`, still has no Redis `WithRepl` in its actual package XML. Do not use 14.x, hand-edit declarations, or attribute source changes to older binaries. - [ ] **Validate the six REPL examples against that actual post-backport SDK and running clients.** Their new TypeScript fences are plain TypeScript, not annotated with unsupported Twoslash data. No existing diagnostics are allowlisted or suppressed; no generated API exports are fabricated. Enable Twoslash when the genuine catalog catches up. ### All 25 open proposal dispositions and provenance Text is selectively adapted from these proposals, not merged wholesale. #1778 and #1748 are authored by @sebastienros; the other proposals are authored by the Aspire repo bot. The table credits the associated product-change authors where supplied by the proposals. Existing PRs remain open and unchanged. | Docs PR | Release source / credited product author | Disposition | | --- | --- | --- | | #1778 | microsoft/aspire#19729 — @sebastienros | **Adopted:** canonical connection-string alias correction, including logical-first resolution and migration. | | #1771 | microsoft/aspire#20481 — @sebastienros | **Excluded:** flat polyglot feature keys are not in the audited release tip; no verified backport. Preserve release key names. | | #1770 | microsoft/aspire#20525 → microsoft/aspire#20548 — @mitchdenny | **Corrected/adopted:** command guides plus the still-current 13.6 article, which the proposal incorrectly treats as historical. | | #1769 | microsoft/aspire#20416 — @JamesNK | **Excluded:** brand hover change has no verified 13.6 membership/backport. | | #1768 | microsoft/aspire#20523 → microsoft/aspire#20546 — @JamesNK | **Adopted:** run pin/unpin preserves selector and current selection. | | #1766 | microsoft/aspire#20537 → microsoft/aspire#20541 — @mitchdenny | **Adopted:** terminal dock empty state. | | #1761 | microsoft/aspire#20490 → microsoft/aspire#20496 — @eerhardt | **Corrected:** graduation is 13.6, package remains prerelease, Blazor-specific exception retained. | | #1760 | microsoft/aspire#20436 — @eerhardt | **Excluded:** CLI net11/tools-any retarget is not in the audited release; no fallback-base inference. | | #1748 | microsoft/aspire#20131 — @sebastienros | **Adopted:** extend existing provisioning guide with service-specific models/lookups and projection limits. | | #1744 | microsoft/aspire#20337 → microsoft/aspire#20441 — @karolz-ms | **Adopted:** precise SDK-conditional multithreaded build coverage. | | #1740 | microsoft/aspire#20231 → microsoft/aspire#20419 — @mitchdenny | **Adapted:** all six guides; TypeScript-first tabs, source-verified lifecycle/security. Actual post-backport SDK/runtime gate is open above. | | #1738 | microsoft/aspire#20158 → microsoft/aspire#20405 — @karolz-ms | **Partly already covered / completed:** existing seven-skill catalog retained; add project migration guidance and correct command catalog/defaults. Do not misclassify the bundled skill as a companion tool. | | #1735 | microsoft/aspire#20334 — @karolz-ms | **Excluded:** enhanced startup errors are not in the audited release; no verified backport. | | #1731 | microsoft/aspire#19847 → microsoft/aspire#20391 — @eerhardt | **Corrected/adopted:** in-process NuGet and real authenticated-restore troubleshooting, not cache-command authentication. | | #1719 | microsoft/aspire#20299 → microsoft/aspire#20407 — @JamesNK | **Corrected/adopted:** cookie naming/scoping; identical names can collide but do not guarantee cross-dashboard cookie decryptability or shared sign-in. | | #1664 | microsoft/aspire#20011 — @maddymontaquila | **Adopted:** concise Azure environment icon release note. | | #1628 | microsoft/aspire#17742 — @davidfowl | **Adapted/expanded:** canonical Toolbox examples, consumer contract, role/index prerequisites, approval/security and concurrency limits. | | #1623 | microsoft/aspire#19810 — @mitchdenny | **Already covered:** current Sandbox guide/article already describe compute inference, explicit selection and external endpoints. Preserve that guidance while removing obsolete suppressions. | | #1620 | microsoft/aspire#19243 — @sebastienros | **Adapted:** AKS credential-before-Helm cleanup and destructive-operation warning; omit misleading ambient-context workaround. | | #1614 | microsoft/aspire#19870 — @sebastienros | **Adopted:** typed callback handle behavior in extension authoring and article. | | #1574 | microsoft/aspire#19430 — @mitchdenny | **Adapted:** canonical hostname inheritance, explicit-host precedence, catch-all default backend. | | #1570 | microsoft/aspire#19590 — @karolz-ms | **Adopted:** Dev Tunnel URL regression troubleshooting. | | #1565 | microsoft/aspire#19429 — @mitchdenny | **Corrected/adopted:** Helm embedded parameters with real `refExpr` and `addParameter(name, { value })`, not stringifying a handle or using an invalid actual-SDK overload. | | #1564 | microsoft/aspire#19026 — @karolz-ms | **Corrected/adopted:** C#/TypeScript Dotnet gateway walkthrough. Retain both experimental diagnostics; remove obsolete run-only restriction after microsoft/aspire#19997 publishing support. Avoid imported ambiguous API reference. | | #1499 | microsoft/aspire#19248 — @IEvangelist | **Adopted:** describe exact secret-value redaction and embedded-secret limit; release article already covered the fix. | ### Important source-verified corrections to proposals / earlier audit assumptions - [`BlazorGatewayExtensions.cs`](https://github.com/microsoft/aspire/blob/e8fd6fbb954f50ccd2e66479538392f65e13e71d/src/Aspire.Hosting.Blazor/BlazorGatewayExtensions.cs): `AddDotnetProjectBlazorGateway` and the Dotnet `WithBlazorClientApp` overload still carry `ASPIREDOTNETPROJECT001`; the class carries `ASPIREBLAZOR001`. They share `WithBlazorClientAppCore`/`WithBlazorApp` and the publish-companion path. Thus neither blanket diagnostic retirement nor the proposal's old run-only claim is correct. - [`SkillDefinition.cs`](https://github.com/microsoft/aspire/blob/e8fd6fbb954f50ccd2e66479538392f65e13e71d/src/Aspire.Cli/Agents/SkillDefinition.cs) sets bundled skills' `IsDefault=true`; [`AgentInitCommand.cs`](https://github.com/microsoft/aspire/blob/e8fd6fbb954f50ccd2e66479538392f65e13e71d/src/Aspire.Cli/Commands/AgentInitCommand.cs) selects the applicable catalog defaults for both flows. MCP has its own standalone-only binding. - [`TypeScriptAppHostToolchainResolver.cs`](https://github.com/microsoft/aspire/blob/e8fd6fbb954f50ccd2e66479538392f65e13e71d/src/Aspire.Cli/Projects/TypeScriptAppHostToolchainResolver.cs) is the source for Deno flags and certificate variable; guest Deno hosting is separate. - [`Radius README`](https://github.com/microsoft/aspire/blob/e8fd6fbb954f50ccd2e66479538392f65e13e71d/src/Aspire.Hosting.Radius/README.md) supplies the resource-specific credential rules and publish diagnostics, not assumptions about local endpoints. ## Third-party links and affiliations <!-- List third-party links and disclose material affiliations. --> Links point to official Microsoft Learn, VS Code Marketplace debugger extensions, Rust/Cargo/Bacon documentation, Radius documentation, and source repositories. No sponsorship, commercial endorsement, or affiliation claim is introduced. Maintainers should supply any personal affiliation disclosure required by policy; automation has not inferred one. ## Validation <!-- List the checks you ran or explain why validation isn't needed. --> - **97 passing focused unit checks** across API-reference authoring/rendering, Twoslash blocks, file-tree formatting, CLI configuration schema, SEO lengths, and resource catalog. - **82 passing structured-data checks**, including exact integration mapping uniqueness and page resolution. - **11 C# samples compile**, zero warnings/errors, using genuine `13.6.0-preview.1.26473.12` packages. Scope: Rust, Connector Namespace, Radius, Toolbox, inline CSI, Helm, Blazor gateway, and provisioning. `Projects.Api/Worker/Client` use compile-only `IProjectMetadata` stand-ins; no claim of running those apps or provisioning cloud resources. - **10 TypeScript samples pass `tsc`** under `strict`, `NodeNext`, and `ES2022` against three **unmodified actual SDK files**, not just the site's declaration bundle. The fixture uses the exact `e8fd6fbb` release `AtsCapabilityScanner` and genuine `26473.12` TypeSystem/code-generator/integration binaries, whose informational source is `a11eca96`. This is an isolated local generation fixture, **not** a claim that official CLI generation or a new packaged release was tested. An attempted restore with the older handed-off local CLI could not discover an AppHost server; the bounded direct generator fixture was used instead. - The SDK scan is **not globally warning-free**: it reports a Radius `withContainerImage` collision on `CSharpAppResource` and an App Configuration `createRoleAssignment` overload collision. None of the compiled examples calls those colliding methods; the warnings are retained in evidence, not suppressed, and no generated declarations were edited. - Browser: Connector Namespace, Radius, both Rust pages, Foundry hosting, and What's new return **HTTP 200**, correct headings, and no rendered Twoslash errors. New guide/article page-local anchors and the cross-page Blazor anchor resolve. Connector/Radius mobile layouts have no horizontal overflow; Connector language-tab interaction works. Standalone Astro preview emits expected `/api/live` 404s because StaticHost is not running. - `git diff --check` passes. No production `pnpm build`, cloud deployment, REPL runtime session, full product suite, or blanket validation of every pre-existing example was performed. - Generated C#/TypeScript API data, declaration bundles, integration catalogs, image catalogs, and contributor data are unchanged. Only the authored package-to-guide mapping is updated. **Before merging:** complete the two packaging/REPL checkboxes above, inspect CI, and obtain human review. This PR intentionally does not close or merge the source documentation proposals. --------- Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: karolz-ms <15271049+karolz-ms@users.noreply.github.com>
|
Copilot resolve the merge conflicts in this pull request |
…-32505988923-1-dc5a1c75f6fccdb7 # Conflicts: # .github/workflows/frontend-build.yml # src/frontend/ec.config.mjs # src/frontend/src/components/FooterResources.astro # src/frontend/src/components/LoopingImage.astro # src/frontend/src/components/starlight/Header.astro # src/frontend/src/content/docs/app-host/with-terminal.mdx # src/frontend/src/content/docs/dashboard/configuration.mdx # src/frontend/src/content/docs/dashboard/explore.mdx # src/frontend/src/content/docs/dashboard/standalone.mdx # src/frontend/src/content/docs/get-started/ai-coding-agents.mdx # src/frontend/src/content/docs/get-started/aspire-vscode-extension.mdx # src/frontend/src/content/docs/integrations/cloud/azure/azure-ai-foundry/azure-ai-foundry-connect.mdx # src/frontend/src/content/docs/integrations/dotnet/blazor-hosting.mdx # src/frontend/src/content/docs/integrations/frameworks/rust/rust-get-started.mdx # src/frontend/src/content/i18n/en.json # src/frontend/src/data/aspire-integrations.json # src/frontend/src/data/pkgs/Aspire.Azure.AI.Inference.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.AI.OpenAI.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Data.Tables.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Messaging.EventHubs.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Messaging.ServiceBus.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Messaging.WebPubSub.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Search.Documents.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Security.KeyVault.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Storage.Blobs.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Storage.Files.DataLake.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Azure.Storage.Queues.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Confluent.Kafka.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppConfiguration.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppContainers.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.AppService.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ApplicationInsights.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CognitiveServices.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ContainerRegistry.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.CosmosDB.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.EventHubs.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.FrontDoor.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Functions.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.KeyVault.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kubernetes.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Kusto.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Network.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.OperationalInsights.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.PostgreSQL.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Redis.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Search.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.ServiceBus.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.SignalR.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Sql.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.Storage.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Azure.WebPubSub.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Blazor.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Browsers.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.DevTunnels.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Docker.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.EntityFrameworkCore.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Foundry.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Garnet.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Go.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.JavaScript.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Kafka.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Keycloak.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Kubernetes.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Maui.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Milvus.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.MySql.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Nats.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.OpenAI.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Oracle.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Orleans.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.PostgreSQL.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Python.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Qdrant.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.RabbitMQ.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Redis.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Seq.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.SqlServer.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Valkey.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Hosting.Yarp.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Keycloak.Authentication.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Microsoft.Azure.Cosmos.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Microsoft.Azure.StackExchangeRedis.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Microsoft.Data.SqlClient.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Microsoft.EntityFrameworkCore.Cosmos.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Microsoft.EntityFrameworkCore.SqlServer.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Milvus.Client.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.MongoDB.Driver.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.MongoDB.Driver.v2.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.MongoDB.EntityFrameworkCore.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.MySqlConnector.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.NATS.Net.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Npgsql.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.OpenAI.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Oracle.EntityFrameworkCore.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Pomelo.EntityFrameworkCore.MySql.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Qdrant.Client.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.RabbitMQ.Client.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.RabbitMQ.Client.v6.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.Seq.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.StackExchange.Redis.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.StackExchange.Redis.DistributedCaching.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.StackExchange.Redis.OutputCaching.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/Aspire.TypeSystem.13.6.0-preview.1.26473.12.json # src/frontend/src/data/pkgs/CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.13.5.1-beta.767.json # src/frontend/src/data/pkgs/CommunityToolkit.Aspire.Hosting.Kind.13.5.1-beta.767.json # src/frontend/src/data/ts-modules/Aspire.Hosting.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppConfiguration.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppContainers.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppService.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ApplicationInsights.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.CognitiveServices.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ContainerRegistry.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.CosmosDB.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.EventHubs.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.FrontDoor.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Functions.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.KeyVault.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Kubernetes.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Kusto.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Network.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.OperationalInsights.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.PostgreSQL.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Redis.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Search.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ServiceBus.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.SignalR.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Sql.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Storage.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.WebPubSub.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Browsers.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.DevTunnels.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Docker.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.EntityFrameworkCore.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Foundry.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Garnet.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Go.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.JavaScript.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Kafka.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Keycloak.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Kubernetes.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Maui.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Milvus.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.MySql.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Nats.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.OpenAI.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Oracle.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Orleans.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.PostgreSQL.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Python.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Qdrant.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.RabbitMQ.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Radius.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Redis.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Seq.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.SqlServer.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Valkey.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/Aspire.Hosting.Yarp.13.6.0-preview.1.26473.12.json # src/frontend/src/data/ts-modules/CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.13.5.1-beta.767.json # src/frontend/src/data/twoslash/aspire.d.ts # src/frontend/tests/e2e/ui-regressions.spec.ts # src/frontend/tests/unit/twoslash-types-generator.vitest.test.ts # src/frontend/tests/unit/update-integrations.vitest.test.ts Co-authored-by: karolz-ms <15271049+karolz-ms@users.noreply.github.com>
Resolved the conflicts by merging the latest |
Co-authored-by: karolz-ms <15271049+karolz-ms@users.noreply.github.com>
Co-authored-by: karolz-ms <15271049+karolz-ms@users.noreply.github.com>
|
Copilot Address finding from David: #1564 (comment) The frontend build check is still failing. |
Co-authored-by: karolz-ms <15271049+karolz-ms@users.noreply.github.com>
Fixed the current frontend validation failure in |
688faef
into
release/13.6
Follow-up to #1780, which merged with two open checkboxes. Both are now validated against the latest staging build. This is a single commit on top of the current `release/13.6` tip (`5589ce6d`), so it merges cleanly. - [x] Generated API catalog refreshed from genuine 13.6 packages, including the late `WithRepl` additions and removed attributes. - [x] REPL samples and all other new samples checked against the real 13.6 SDK, not stale Twoslash types. ## Provenance - **Feed:** `darc-pub-microsoft-aspire-f4c27f2d` (`https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-microsoft-aspire-f4c27f2d/nuget/v3/index.json`). - **Source:** microsoft/aspire `release/13.6` at `f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62`, the newest staging build. Every regenerated official TS module records `sourceCommit: f4c27f2d…`, and the restored nuspecs (for example Redis, Blazor and CodeGeneration.TypeScript) report that commit. - **Versions:** stable packages are `13.6.0`; prerelease packages are `13.6.0-preview.1.26478.8`. The codegen package is `Aspire.Hosting.CodeGeneration.TypeScript 13.6.0`, mapped exclusively to the staging feed. nuget.org has no `13.6.0`, so resolution is unambiguous. - **Scanner:** a locally fixed CLI/ATS scanner, built from `a11eca96` plus `320eed42` (the microsoft/aspire#20438 content) and `435fd4eb` (the microsoft/aspire#20443 content). Both upstream PRs are still unmerged. - Nothing in `a11eca96..f4c27f2d` touches `AtsCapabilityScanner`, `Aspire.TypeSystem` or `Aspire.Hosting.CodeGeneration.TypeScript`. The last two commits (microsoft/aspire#20566 and microsoft/aspire#20562) only change dashboard layout code and Dockerfiles. - The layout's `dashboard` and `dcp` folders are copies from the `8230626c` staging CLI bundle. Layout discovery requires them, but they aren't used for scanning or code generation. - **Isolation:** the stable version number didn't change between builds, so generation used fresh process-local `NUGET_PACKAGES`, HTTP cache, `TEMP` and `ASPIRE_HOME` folders. That rules out reusing `e8fd6fbb` bits. `ASPIRE_REPO_ROOT` and `ASPIRE_REPO_PATH` were unset, and there was no source-project substitution. - **Pipeline:** the repo's own pipeline, in this order: `update:integrations` → `generate-package-json.ps1` → `normalize:api-data -- --pkgs` → `update:ts-api` (with Twoslash `.d.ts`) → `validate:api-data`. - Generated JSON and `d.ts` were not hand-edited, and nothing from 14.x was imported. ### Deviation: no `ASPIRE_RELEASE_VERSION` pin Pinning `13.6.0` left the 50 prerelease packages stale. The feed is commit-specific, so the unpinned run resolves every package from the same build. ### Packages absent from the feed These seven official packages aren't in this build, so they are carried forward unchanged: - `Aspire.Elastic.Clients.Elasticsearch` 13.3.0 - `Aspire.Hosting.AgentFramework.DevUI` 1.22.0-preview.260918.1 - `Aspire.Hosting.AWS` 13.7.2 - `Aspire.Hosting.ClickHouse` 13.5.3 - `Aspire.Hosting.DocumentDB` 0.116.0 - `Aspire.Hosting.Elasticsearch` 13.3.0 - `Aspire.Hosting.GitHub.Models` 13.5.4 ## Changes - **Generated data:** regenerated `aspire-integrations.json` (still 217 packages; 82 at `13.6.0` and 50 at `13.6.0-preview.1.26478.8`), `pkgs/` (210 succeeded, 0 failed), `ts-modules/` (146 succeeded, 0 failed) and `twoslash/aspire.d.ts`. `integration-docs.json` needed no change. - **Generator fix** (`generate-package-json.ps1`): the 24 Provisioning overlays restored `Aspire.Hosting` at the overlay's own prerelease version, which doesn't exist now that `Aspire.Hosting` is stable `13.6.0`. The script now uses the resolved `Aspire.Hosting` version, via a new `-HostingVersion` parameter with a feed-lookup fallback for selective runs. - **Blazor docs:** `AddDotnetProjectBlazorGateway` and `WithBlazorClientApp` report their own `ASPIREDOTNETPROJECT001` diagnostic. `ASPIREBLAZOR001` applies to other experimental Blazor hosting types, such as `BlazorWasmAppResource`. - A compile check with the pragma removed reports only `ASPIREDOTNETPROJECT001`, on exactly those two methods. - The previous wording, from #1564, said the gateway methods carry both diagnostics. - **Dashboard docs (microsoft/aspire#20562):** the dashboard no longer has a terminal button in the header or a terminal entry in the mobile menu. - `dashboard/explore.mdx` and the What's new bullet now describe the backtick key as the way to open and hide the terminal dock. ## Validation - **`WithRepl` coverage:** present in the C# and TS API data for all six REPL packages (PostgreSQL, MySql, MongoDB, SqlServer, Redis, Valkey) and in `aspire.d.ts`. - **C# compile:** every new sample compiles with 0 warnings and 0 errors against exact packages from the `f4c27f2d` feed (16 at `13.6.0`, 9 at `26478.8`). This covers REPL×6, Rust, ConnectorNamespace, Foundry Toolbox, Radius, CSI, Helm, Blazor (now matching #1564's `WithExternalHttpEndpoints` sample), Provisioning and Dotnet. The Dotnet samples need no `ASPIREDOTNETPROJECT001` suppression. - **TS compile:** the SDK was generated by a real `aspire restore` (codegen `13.6.0`, `Aspire.Hosting.Redis/13.6.0` and `Aspire.Hosting.Blazor/13.6.0-preview.1.26478.8`, all at `f4c27f2d`). Strict `tsc` (NodeNext) passes for all 18 `.mts` samples, including the new Blazor gateway TS sample. A negative control (`withReplz`) fails with TS2551. - **Scanner warnings:** - Radius reports no collisions; the earlier `withContainerImage` collision on `CSharpAppResource` is gone. - The `createRoleAssignment` overload collisions remain in 16 Provisioning overlays. They are recorded here, not suppressed; no doc sample calls this method. - **Tests:** `pnpm validate:api-data` passes (217 identities, 146 modules matched to C# provenance). These suites pass: `test:unit:structured-data` (82), `api-reference` (55), `api-markdown` (30), `ts-api` (31), `twoslash-types` (12), `twoslash-blocks` (2), `llms-txt` (12) and `docs` (2). - No local `pnpm build` was run; CI covers it. ## Not done - **Contributors:** `update:release-contributors` needs the `v13.6.0` tag, which doesn't exist yet. This is left for after the release is tagged. Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Documents changes from microsoft/aspire#19026
@karolz-msTargeting
release/17.0— the latest release branch onmicrosoft/aspire.dev— becauserelease/13.6(from the source PR milestone13.6) does not exist there.Why this PR is needed
microsoft/aspire#19026 exports the
DotnetProjectResource-backed Blazor gateway APIs (AddDotnetProjectBlazorGatewayand theDotnetProjectResourceoverload ofWithBlazorClientApp) for use in polyglot (TypeScript, Go, Java, Python) AppHosts. These APIs were previously marked[AspireExportIgnore]; they are now[AspireExport]/[AspireExport(...)], soAddDotnetProjectBlazorGatewayandwithBlazorClientAppare now callable from non-C# AppHosts. The existing Blazor hosting reference page only documented theProjectResource-basedAddBlazorGateway/WithBlazorClientApppair, so it didn't cover this newly-exported,DotnetProjectResource-based variant or its experimental/publish-mode caveats.Summary of changes
blazor-hosting.mdxcoveringAddDotnetProjectBlazorGateway/addDotnetProjectBlazorGatewayand theDotnetProjectResourceoverload ofWithBlazorClientApp/withBlazorClientApp, with C# and TypeScript examples matching the PR's own usage snippet.ASPIREDOTNETPROJECT001), run-only (publish fails fast untilDotnetProjectResourcesupports the container-files pipeline), and cross-linked todotnet-host.mdxand theASPIREDOTNETPROJECT001diagnostic page.Files modified
src/frontend/src/content/docs/integrations/dotnet/blazor-hosting.mdx(updated)