Skip to content

Update AG-UI C# docs for MAF v1.14 package/API changes - #430

Open
Daniel Roth (danroth27) wants to merge 35 commits into
MicrosoftDocs:mainfrom
danroth27:daroth/agui-csharp-v1.14-updates
Open

Update AG-UI C# docs for MAF v1.14 package/API changes#430
Daniel Roth (danroth27) wants to merge 35 commits into
MicrosoftDocs:mainfrom
danroth27:daroth/agui-csharp-v1.14-updates

Conversation

@danroth27

Copy link
Copy Markdown
Contributor

Summary

Updates the AG-UI C# documentation to match the newly released packages (Microsoft Agent Framework v1.14+ and the AG-UI C# SDK). The current C# samples reference the removed in-tree Microsoft.Agents.AI.AGUI package and the old AddAGUI() / MapAGUI() API.

Changes

  • Package: the AG-UI protocol/client now ships in the AG-UI C# SDK (AGUI.Client, AGUI.Server, AGUI.Abstractions); the in-tree Microsoft.Agents.AI.AGUI package was removed. Server hosting stays in Microsoft.Agents.AI.Hosting.AGUI.AspNetCore.
  • API renames (to match the sibling AddA2AServer convention):
    • builder.Services.AddAGUI()builder.Services.AddAGUIServer()
    • app.MapAGUI("/", agent)app.MapAGUIServer("/", agent)
  • AGUIChatClient construction is now options-based:
    • new AGUIChatClient(httpClient, serverUrl)new AGUIChatClient(new AGUIChatClientOptions(httpClient, serverUrl))
  • Updated using directives (Microsoft.Agents.AI.AGUIAGUI.Client) and the "Key Concepts" descriptions accordingly.

Files touched: getting-started.md, backend-tool-rendering.md, frontend-tools.md, human-in-the-loop.md, state-management.md, index.md (C# pivots only; Python content unchanged).

Notes

  • Verified against a working end-to-end Blazor + MAF + AG-UI sample built on these packages: https://github.com/danroth27/AgenticUI
  • Opening as draft for review. The AG-UI hosting package (Microsoft.Agents.AI.Hosting.AGUI.AspNetCore) is still preview; the doc could optionally call that out.

Reference: the package migration is described in the MAF repo's Microsoft.Agents.AI.AGUI/README.md and ag-ui-protocol/ag-ui#1963.

- Microsoft.Agents.AI.AGUI package removed; client now in AGUI.Client (AG-UI C# SDK)
- AddAGUI() -> AddAGUIServer(); MapAGUI() -> MapAGUIServer()
- AGUIChatClient now options-based: new AGUIChatClient(new AGUIChatClientOptions(httpClient, url))
- Update using directives and key-concept descriptions accordingly

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 158ea7f:

✅ Validation status: passed

File Status Preview URL Details
agent-framework/integrations/ag-ui/backend-tool-rendering.md ✅Succeeded
agent-framework/integrations/ag-ui/frontend-tools.md ✅Succeeded
agent-framework/integrations/ag-ui/getting-started.md ✅Succeeded
agent-framework/integrations/ag-ui/human-in-the-loop.md ✅Succeeded
agent-framework/integrations/ag-ui/index.md ✅Succeeded
agent-framework/integrations/ag-ui/state-management.md ✅Succeeded

For more details, please refer to the build report.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 44152c3:

✅ Validation status: passed

File Status Preview URL Details
agent-framework/integrations/ag-ui/backend-tool-rendering.md ✅Succeeded
agent-framework/integrations/ag-ui/frontend-tools.md ✅Succeeded
agent-framework/integrations/ag-ui/getting-started.md ✅Succeeded
agent-framework/integrations/ag-ui/human-in-the-loop.md ✅Succeeded
agent-framework/integrations/ag-ui/index.md ✅Succeeded
agent-framework/integrations/ag-ui/state-management.md ✅Succeeded

For more details, please refer to the build report.

- state-management (C#): correct client-state input to chatOptions.TryGetRunAgentInput()/
  RunAgentInput.State (was a stale ag_ui_state key) and STATE_SNAPSHOT emission to
  ChatResponseUpdate.RawRepresentation = StateSnapshotEvent (was DataContent, which the released
  AGUI.Server drops); add a working C# client example and a new Predictive State Updates section.
- workflows (C#): replace 'coming soon' with the enabled pattern (AgentWorkflowBuilder...AsAIAgent()
  + MapAGUIServer), honestly scoping which workflow events stream today.
- mcp-apps (C#): replace 'coming soon' with MCP Apps compatibility guidance (no .NET-side changes).
- testing-with-dojo (C#): replace 'coming soon' with a full Dojo testing guide.
- getting-started (C#): add Common Patterns and Troubleshooting.
- backend-tool-rendering (C#): add Tool Best Practices and Tool Organization.
- frontend-tools (C#): add Best Practices and Troubleshooting.

All changes are within programming-language-csharp pivot zones; Python/Go zones untouched.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Based on tested .NET MAF behavior (not ported assumptions):
- human-in-the-loop (C#): add Approval Requirements (.NET has no approval 'modes' -
  ApprovalRequiredAIFunction is always-require; not wrapping = never), Selective Approval
  (verified: unwrapped tool executes while wrapped tool interrupts), and Best Practices.
- getting-started (C#): add 'Testing with curl' (verified minimal-body request works; server
  generates threadId).
- testing-with-dojo: fix clone URL ag-oss/ag-ui -> ag-ui-protocol/ag-ui in both the Python and
  C# zones.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Daniel Roth (danroth27) and others added 2 commits July 22, 2026 22:49
The prior C# HITL sample used non-existent types (FunctionApprovalRequestContent/
FunctionApprovalResponseContent) and ~400 lines of custom request_approval middleware.
Replaced with the idiomatic pattern, verified end-to-end against real .NET MAF:
- Server: wrap the tool in ApprovalRequiredAIFunction + MapAGUIServer (the hosting layer emits
  the approval interrupt natively).
- Client: read ToolApprovalRequestContent, CreateResponse(approved), resume (AGUIChatClient
  transports the decision via the AG-UI resume mechanism automatically).
Both server and client snippets compile against the shipped packages; the client round-trip was
run against a live server (tool executes after approval).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Verified by compiling the doc snippets against the shipped packages:
- state-management: models block declared 'namespace RecipeAssistant;' while the SharedStateAgent
  block was namespace-less, so the agent could not resolve RecipeResponse. Removed the namespace
  for consistency. (SharedStateAgent + PredictiveStateUpdatesAgent now compile.)
- backend-tool-rendering: the server program declared helper types in the middle, before later
  top-level statements (CS8803 - does not compile). Moved the types after RunAsync().

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

…n.Name/Description

AIFunction.Metadata was removed from Microsoft.Extensions.AI; the tool-inspection middleware
snippet did not compile. Verified the fix compiles against the shipped packages.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Daniel Roth (danroth27) and others added 2 commits July 23, 2026 10:44
…predictive page

Reconcile @javiercn's AG-UI C# doc draft into this branch, adopting the idiomatic,
author-blessed state APIs (verified end-to-end in the AgenticUI sample):

- state-management.md (C# zone): replace the custom DelegatingAIAgent + RawRepresentation
  approach with declarative AGUIStreamOptions.MapResultAsStateSnapshot / MapResultAsStateDelta
  wired via MapAGUIServer(...).WithMetadata. Python and Go zones left untouched.
- predictive-state-updates.md: new dedicated page (AGUIStreamOptions.MapCall streaming pipeline),
  matching the Python docs' structure.
- TOC.yml: add the Predictive State Updates entry.

Co-authored-by: Javier Calvarro <javiercn@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
…essionStore isolation

Adopt @javiercn's idiomatic server wiring in getting-started (AddAIAgent + session store +
MapAGUIServer(name, pattern)) and align the backend to Azure OpenAI for consistency with the
other C# pages.

Verified fix on top of the draft: `.WithInMemorySessionStore()` defaults to withIsolation:true,
which requires a SessionIsolationKeyProvider and throws HTTP 500 at runtime without one. Use
`.WithInMemorySessionStore(withIsolation: false)` for the single-user local server (getting-started
and state-management), and note that multi-user deployments keep isolation on with a provider.

Verified end-to-end (AddAIAgent + WithInMemorySessionStore(withIsolation:false) + MapAGUIServer(name))
against GitHub Models: endpoint streams correctly.

Co-authored-by: Javier Calvarro <javiercn@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit f479683:

⚠️ Validation status: warnings

File Status Preview URL Details
agent-framework/integrations/ag-ui/predictive-state-updates.md ⚠️Warning Details
agent-framework/integrations/ag-ui/state-management.md ⚠️Warning Details
agent-framework/integrations/ag-ui/backend-tool-rendering.md ✅Succeeded
agent-framework/integrations/ag-ui/frontend-tools.md ✅Succeeded
agent-framework/integrations/ag-ui/getting-started.md ✅Succeeded
agent-framework/integrations/ag-ui/human-in-the-loop.md ✅Succeeded
agent-framework/integrations/ag-ui/index.md ✅Succeeded
agent-framework/integrations/ag-ui/mcp-apps.md ✅Succeeded
agent-framework/integrations/ag-ui/testing-with-dojo.md ✅Succeeded
agent-framework/integrations/ag-ui/workflows.md ✅Succeeded
agent-framework/TOC.yml ✅Succeeded

agent-framework/integrations/ag-ui/predictive-state-updates.md

  • Line 0, Column 0: [Warning: pivot-id-unused] Pivot ID 'programming-language-go' is defined in 'programming-languages' group in 'zone-pivot-groups.yml', but not used. You must use all pivot IDs in a pivot group to avoid blank tabs.
  • Line 35, Column 58: [Warning: xref-not-found - See documentation] Cross reference not found: 'AGUI.Server.AGUIStreamOptions'.

agent-framework/integrations/ag-ui/state-management.md

  • Line 48, Column 228: [Warning: xref-not-found - See documentation] Cross reference not found: 'AGUI.Server.AGUIStreamOptions'.
  • Line 174, Column 11: [Warning: xref-not-found - See documentation] Cross reference not found: 'AGUI.Server.AGUIStreamOptions'.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

Daniel Roth (danroth27) and others added 3 commits July 23, 2026 11:47
…no session store)

The session store is optional (AG-UI clients resend history; sessions are ephemeral without one).
Match the verified AgenticUI sample: use the simplest idiomatic form -- MapAGUIServer("/", agent)
and MapAGUIServer("/route", agent).WithMetadata(streamOptions) for state -- instead of
AddAIAgent + WithInMemorySessionStore. Session persistence + principal isolation are documented as
an opt-in note (WithInMemorySessionStore(withIsolation:false) for single-user;
SessionIsolationKeyProvider / UseClaimsBasedSessionIsolation for multi-user).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
…) + fix missing usings

Backend-client consistency: the Python AG-UI docs use OpenAIChatCompletionClient (a chat client)
across the section, and the AG-UI state/predictive patterns are chat-client-level. Convert the
remaining Foundry (AIProjectClient) pages to AzureOpenAIClient for cross-language parity:
- backend-tool-rendering, human-in-the-loop, testing-with-dojo: AIProjectClient -> AzureOpenAIClient
  .GetChatClient(deployment).AsAIAgent(...). (workflows.md stays on AIProjectClient to match its
  Python counterpart, which uses FoundryChatClient.)

Build-verification fixes (compiled every complete snippet against the shipped packages):
- Add missing `using OpenAI.Chat;` where GetChatClient(...).AsAIAgent(...) is used (getting-started
  server block and state-management "Create the Agent"). AsAIAgent(this ChatClient) lives in the
  OpenAI.Chat namespace; without the using the snippet does not compile.
- Predictive verified fine as-is (AsIChatClient resolves via Microsoft.Extensions.AI; adding
  OpenAI.Chat there would clash with Microsoft.Extensions.AI.ChatMessage).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
… store + isolation)

Default is ephemeral (client owns the transcript). Document when to register a server-side
session store (stateful backends, durable/background runs, thin clients, cross-device resume,
audit) and pair it with the multi-user isolation requirement (thread ID is not an auth token;
use SessionIsolationKeyProvider / UseClaimsBasedSessionIsolation; withIsolation:false only for
single-user/local). Python AG-UI docs have no equivalent storage-backend section, so this is
.NET-specific content.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit c0766ab:

⚠️ Validation status: warnings

File Status Preview URL Details
agent-framework/integrations/ag-ui/predictive-state-updates.md ⚠️Warning Details
agent-framework/integrations/ag-ui/state-management.md ⚠️Warning Details
agent-framework/integrations/ag-ui/backend-tool-rendering.md ✅Succeeded
agent-framework/integrations/ag-ui/frontend-tools.md ✅Succeeded
agent-framework/integrations/ag-ui/getting-started.md ✅Succeeded
agent-framework/integrations/ag-ui/human-in-the-loop.md ✅Succeeded
agent-framework/integrations/ag-ui/index.md ✅Succeeded
agent-framework/integrations/ag-ui/mcp-apps.md ✅Succeeded
agent-framework/integrations/ag-ui/testing-with-dojo.md ✅Succeeded
agent-framework/integrations/ag-ui/workflows.md ✅Succeeded
agent-framework/TOC.yml ✅Succeeded

agent-framework/integrations/ag-ui/predictive-state-updates.md

  • Line 0, Column 0: [Warning: pivot-id-unused] Pivot ID 'programming-language-go' is defined in 'programming-languages' group in 'zone-pivot-groups.yml', but not used. You must use all pivot IDs in a pivot group to avoid blank tabs.
  • Line 35, Column 58: [Warning: xref-not-found - See documentation] Cross reference not found: 'AGUI.Server.AGUIStreamOptions'.

agent-framework/integrations/ag-ui/state-management.md

  • Line 48, Column 228: [Warning: xref-not-found - See documentation] Cross reference not found: 'AGUI.Server.AGUIStreamOptions'.
  • Line 175, Column 11: [Warning: xref-not-found - See documentation] Cross reference not found: 'AGUI.Server.AGUIStreamOptions'.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit f43bcc6:

⚠️ Validation status: warnings

File Status Preview URL Details
agent-framework/integrations/ag-ui/predictive-state-updates.md ⚠️Warning Details
agent-framework/integrations/ag-ui/state-management.md ⚠️Warning Details
agent-framework/integrations/ag-ui/backend-tool-rendering.md ✅Succeeded
agent-framework/integrations/ag-ui/frontend-tools.md ✅Succeeded
agent-framework/integrations/ag-ui/getting-started.md ✅Succeeded
agent-framework/integrations/ag-ui/human-in-the-loop.md ✅Succeeded
agent-framework/integrations/ag-ui/index.md ✅Succeeded
agent-framework/integrations/ag-ui/mcp-apps.md ✅Succeeded
agent-framework/integrations/ag-ui/testing-with-dojo.md ✅Succeeded
agent-framework/integrations/ag-ui/workflows.md ✅Succeeded
agent-framework/TOC.yml ✅Succeeded

agent-framework/integrations/ag-ui/predictive-state-updates.md

  • Line 0, Column 0: [Warning: pivot-id-unused] Pivot ID 'programming-language-go' is defined in 'programming-languages' group in 'zone-pivot-groups.yml', but not used. You must use all pivot IDs in a pivot group to avoid blank tabs.
  • Line 35, Column 58: [Warning: xref-not-found - See documentation] Cross reference not found: 'AGUI.Server.AGUIStreamOptions'.

agent-framework/integrations/ag-ui/state-management.md

  • Line 48, Column 228: [Warning: xref-not-found - See documentation] Cross reference not found: 'AGUI.Server.AGUIStreamOptions'.
  • Line 175, Column 11: [Warning: xref-not-found - See documentation] Cross reference not found: 'AGUI.Server.AGUIStreamOptions'.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

…k-indented

- Convert unresolvable <xref:AGUI.Server.AGUIStreamOptions> to code spans (AGUI.* SDK is not
  indexed on Learn) -> clears 3 xref-not-found warnings.
- Add a Go zone stub to predictive-state-updates.md -> clears pivot-id-unused.
- Dedent the interrupt JSON block in workflows.md -> clears code-block-indented.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Correctness:
- workflows.md: convert the workflow agents from the removed AIProjectClient (fed with an
  AZURE_OPENAI_ENDPOINT, a Foundry/AOAI endpoint mismatch) to the shipped AzureOpenAIClient
  chat-client pattern used by the rest of the section (and matching the verified sample).
- frontend-tools.md: fix a numbered list that skipped "2"; correct the type name
  ChatAgentRunOptions -> ChatClientAgentRunOptions (x2).

Noise / simplicity:
- Remove the unnecessary `builder.Services.AddHttpClient().AddLogging();` boilerplate from 6
  server snippets (an AG-UI server does not need it; the flagship getting-started already dropped it).
- frontend-tools.md: remove a tangential, incomplete "inspect tools via middleware" section
  (referenced an undefined `baseAgent` and ended with a dangling bullet).
- getting-started.md: drop the "Color-Coded Output" console trivia; simplify "Custom Server
  Configuration" by removing the unused ChatRequestMetadata/AppJsonSerializerContext types.
- backend-tool-rendering.md: replace ~180 lines of generic, non-AG-UI "Tool Best Practices"/"Tool
  Organization" code examples (incl. a try/catch around code that can't throw) with a concise
  bulleted list.

Clarity:
- human-in-the-loop.md: soften prose that claimed "no protocol to implement on the client" while the
  sample carries threadId/ParentRunId across turns; explain the continuity plumbing instead.
- predictive-state-updates.md: note that the .NET 10 floor is due to TypedResults.ServerSentEvents.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Comment thread agent-framework/integrations/ag-ui/getting-started.md Outdated
Trim the getting-started console client to the same scope as the Python
sample: use the update.Text convenience instead of iterating Contents,
pass only the new message and let AgentSession track history, set the
system prompt via AsAIAgent(instructions:), and drop the run-started/
finished notifications and color scaffolding. Verified end-to-end against
a live AG-UI server (streaming + multi-turn session memory).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
…p TOC entry

Follow-up to the predictive-state-updates.md deletion: add the C# predictive
content to the state-management C# zone (matching the Python inline approach) and
remove the stale TOC entry that pointed at the deleted page.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 90128d4:

⚠️ Validation status: warnings

File Status Preview URL Details
agent-framework/integrations/ag-ui/state-management.md ⚠️Warning Details
agent-framework/TOC.yml ⚠️Warning Details
agent-framework/integrations/ag-ui/backend-tool-rendering.md ✅Succeeded
agent-framework/integrations/ag-ui/frontend-tools.md ✅Succeeded
agent-framework/integrations/ag-ui/getting-started.md ✅Succeeded
agent-framework/integrations/ag-ui/human-in-the-loop.md ✅Succeeded
agent-framework/integrations/ag-ui/index.md ✅Succeeded
agent-framework/integrations/ag-ui/mcp-apps.md ✅Succeeded
agent-framework/integrations/ag-ui/testing-with-dojo.md ✅Succeeded
agent-framework/integrations/ag-ui/workflows.md ✅Succeeded

agent-framework/integrations/ag-ui/state-management.md

  • Line 342, Column 99: [Warning: file-not-found - See documentation] Invalid file link: 'predictive-state-updates.md'.

agent-framework/TOC.yml

  • Line 232, Column 13: [Warning: file-not-found - See documentation] Invalid file link: 'integrations/ag-ui/predictive-state-updates.md'.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

The MCP Apps C# content mostly documented CopilotKit's TypeScript
MCPAppsMiddleware, which .NET doesn't ship, so it doesn't belong in this PR.
Revert the C# zone to the pre-existing "coming soon" note (its state in main).
Python and Go zones are unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Revert the file entirely to main. The C# Dojo content is removed (the .NET Dojo
experience isn't well-supported yet: no prebuilt .NET example agents, and the
example-agents table listed Python endpoints), returning the C# zone to its
"coming soon" stub. Also drop the unrelated Python-zone clone-URL fix
(ag-oss -> ag-ui-protocol) as out of scope for this PR. Net: this PR no longer
touches testing-with-dojo.md.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Comment thread agent-framework/integrations/ag-ui/workflows.md Outdated
The C# workflow-over-AG-UI story is "a workflow-as-agent is just an AIAgent, map
it with MapAGUIServer like any agent" plus the honest limitation that .NET streams
only agent output, not workflow-specific AG-UI events (step tracking, interrupts)
- those remain Python-only (tracked by agent-framework#2494). Replace the longer
version with a compact section: verified minimal example + AuthorName note +
limitation note. Also revert the out-of-scope Python (JSON re-indent) and Go
(whitespace) edits so the PR only touches the C# zone.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

- getting-started: drop the removed-package history note, the run-ID/wording
  note, the redundant JSON-serialization sentence, the obvious "clients connect
  to route" line, and the generic Troubleshooting section; revert an incidental
  trailing-newline change.
- human-in-the-loop: simplify the server intro, drop the "no custom protocol"
  line, remove the MEAI001 #pragma suppressions from snippets, and delete the
  generic Best Practices section.
- backend-tool-rendering: drop the non-AG-UI "group related tools" bullet.
- frontend-tools: remove the generic Best Practices section.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Daniel Roth (danroth27) and others added 2 commits July 25, 2026 00:04
…ices section

Per follow-up review comment - the tool-authoring best practices aren't
AG-UI-specific.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Custom server configuration and multiple-agent mapping aren't AG-UI-specific
(and follow directly from the basic MapAGUIServer usage already shown).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@danroth27
Daniel Roth (danroth27) marked this pull request as ready for review July 25, 2026 07:11
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

…lerplate)

Verified that AGUIChatClient resumes an interrupted run when you reuse the same
AgentSession and send the ToolApprovalResponseContent - it auto-builds the AG-UI
Resume payload and recovers the thread id itself. The RunStartedEvent capture and
the ChatOptions.RawRepresentationFactory (ThreadId/ParentRunId) block were
unnecessary, so remove them. The resume turn is now just
RunStreamingAsync(resume, session). Verified end-to-end against a live HITL
endpoint (approve -> tool runs).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Follow the Microsoft writing style guidance and remove common AI tells: replace
em-dash asides and clause-joining semicolons in the C# prose (and a few code
comments) with plain sentences, colons, or commas. Prose only - no code or
behavior changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

- backend-tool-rendering.md: the getting-started client no longer plumbs the
  thread id, so drop "Thread: ..." from the expected-output block; name the
  backend tool "search_restaurants" (matching the Python and Go zones) so the
  displayed function name is accurate instead of a compiler-mangled local name.
- human-in-the-loop.md: give the approval tool an explicit "send_email" name so
  it matches the surrounding prose instead of a compiler-mangled local name.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

learn-build-service-prod Bot pushed a commit that referenced this pull request Aug 10, 2026
* Fix stale illustrative output and mangled tool name in AG-UI C# docs

- backend-tool-rendering.md: the getting-started client no longer plumbs the
  thread id, so drop "Thread: ..." from the expected-output block; name the
  backend tool "search_restaurants" (matching the Python and Go zones) so the
  displayed function name is accurate instead of a compiler-mangled local name.
- human-in-the-loop.md: give the approval tool an explicit "send_email" name so
  it matches the surrounding prose instead of a compiler-mangled local name.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1

* Apply remaining AG-UI C# updates from PR #430

Bring all seven files to the source PR head so this PR fully supersedes #430.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 5917e80d-6d1c-4717-922b-c0463d5c066d

---------

Co-authored-by: Daniel Roth <daroth@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
Copilot-Session: 5917e80d-6d1c-4717-922b-c0463d5c066d
westey (westey-m) added a commit that referenced this pull request Aug 12, 2026
* Clarify HITL options for .Net agent orchestrations (#1066)

* update doc to clarify HITL options for .Net agent orchestrations

* Update documentation for C# handoff orchestration (#1067)

* Add Agent Framework hosting documentation (#1064)

* docs: add hosting documentation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20

* docs: fix hosting validation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20

* docs: sync get started hub links

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20

* docs: clarify hosting model choice

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20

* docs: add Agent Harness hub link

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20

* docs: organize self-hosting protocols

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20

* docs: fix self-hosting validation warnings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20

* docs: add self-hosting language pivots

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20

* docs: complete self-hosting pivot group

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20

* docs: address hosting review feedback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4f443baa-2c02-44f8-84a1-5756089ae279

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Document Python A2A and MCP hosting helpers (#1070)

* docs: add A2A hosting helper guidance

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20

* docs: add MCP hosting guidance

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 992babcc-1fbb-4fb5-8275-880f6db989e0

* docs: explain session and history storage

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 992babcc-1fbb-4fb5-8275-880f6db989e0

* docs: fix Telegram hosting snippet range

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 992babcc-1fbb-4fb5-8275-880f6db989e0

* docs: separate A2A hosting integrations

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 992babcc-1fbb-4fb5-8275-880f6db989e0

* docs: explain multi-protocol A2A hosting

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 992babcc-1fbb-4fb5-8275-880f6db989e0

* language updates

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20
Copilot-Session: 992babcc-1fbb-4fb5-8275-880f6db989e0

* Document Python A2A hosting adapters (#1071)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 02caa81e-9610-446f-b9ec-963a66f86638

* Update GitHub Copilot provider docs to match current SDK (#1073)

Sync code snippets in the GitHub Copilot provider page with the latest
Agent Framework source across C#, Python, and Go:

- Fix ambiguous C# AsAIAgent() calls (CS0121) to AsAIAgent(sessionConfig: null).
- Update C# MCP config to McpServerConfig/McpStdioServerConfig/McpHttpServerConfig.
- Drop --pre from the Python install now that the package is stable (1.0.0).
- Note that Python default_options forwards any create_session parameter.
- Add a Tool Approval section (C# and Python) covering the SDK-native
  pre-tool-use hook flow for approval_mode="always_require" tools.
- Update the language parity table.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: fc351972-9bb0-4356-9d67-4560a2c06ddc

* Update AG-UI C# docs for MAF v1.14 package/API changes (#1076)

* Fix stale illustrative output and mangled tool name in AG-UI C# docs

- backend-tool-rendering.md: the getting-started client no longer plumbs the
  thread id, so drop "Thread: ..." from the expected-output block; name the
  backend tool "search_restaurants" (matching the Python and Go zones) so the
  displayed function name is accurate instead of a compiler-mangled local name.
- human-in-the-loop.md: give the approval tool an explicit "send_email" name so
  it matches the surrounding prose instead of a compiler-mangled local name.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1

* Apply remaining AG-UI C# updates from PR #430

Bring all seven files to the source PR head so this PR fully supersedes #430.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 5917e80d-6d1c-4717-922b-c0463d5c066d

---------

Co-authored-by: Daniel Roth <daroth@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
Copilot-Session: 5917e80d-6d1c-4717-922b-c0463d5c066d

* Restructure Agent Framework documentation taxonomy (#1077)

* Restructure Agent Framework documentation taxonomy

Move existing Agent Framework documentation into intent-based integration and hosting paths, update navigation and internal links, and preserve existing Learn URLs with redirects.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Fix AG-UI links after merging main

Update relative links introduced by the latest upstream AG-UI documentation changes for the new integrations/ui/ag-ui location.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Add missing memory and CodeAct integration pages

Document Redis, Mem0, and Microsoft Foundry memory; add Monty and .NET Local CodeAct guides; and add a Microsoft Foundry Agent Service entry point.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Simplify nested integration page names

Use service and runtime names for nested integration pages while relying on the parent feature area for Memory, CodeAct, RAG, model provider, and agent service context.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Document FoundryAgent and reclassify Purview

Add C# and Python FoundryAgent guidance for connecting to Prompt and Hosted Agents, and move Microsoft Purview into middleware integrations with direct redirects.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Split model provider and agent service overviews

Keep the model provider overview focused on inference clients, add an Agent Services overview for managed runtimes, and cross-link both page sets.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Separate model providers from other agent types

Rename the Agents overview provider section, move managed agent services and protocol-backed agents into Other agent types, and place that section before Custom Agents.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Remove Microsoft 365 placeholder page

Remove the empty Microsoft 365 integration placeholder from navigation and agent tables, and redirect its published URL to the Agent Services overview.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Add Azure Cosmos DB memory and storage integrations

Document separate Azure Cosmos DB integrations for long-term semantic memory and persistent conversation history, and add both to navigation and integration mappings.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Complete Agent Framework integration coverage

Add the remaining Python and .NET integration guides for model providers, RAG, evaluation, storage, UI, content processing, and embeddings; add .NET Aspire guidance to DevUI; and update navigation and mappings.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Move Mistral under model providers

Remove the separate Embeddings integration category and place the Mistral embeddings provider under Model Providers.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Update Foundry evaluation terminology

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Resolve documentation build warnings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Add Foundry and Azure integration landing pages

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Flatten context provider integrations

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Standardize model provider documentation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Split A2A provider and hosting docs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Fix integration mini-hub link limit

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Organize integrations by provider and component

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Expand provider navigation and consolidate A2A

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Add tools component documentation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Split concepts from capabilities

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Fix concept preview links

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Finalize documentation mappings and validation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Complete documentation mappings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Reorder and expand Concepts navigation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Refine Concepts navigation labels

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Deep-link Harnessed Agent capability setup

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Configure Python compaction on Agent

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Document structured A2A session state

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* small update to concept overview

* Refresh overview navigation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Clarify documentation content triage

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Use Agent in Python overview

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* update to overview agent creation

* remove indentation

* Sync docs with latest Python changes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Split looping session guidance by language

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Integrate looping session guidance

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Address documentation review feedback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Address integration review feedback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Preserve Foundry RAG anchor

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Restore agent connection references

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Simplify Mem0 availability note

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Document stable agent IDs for resuming checkpointed workflows (#1078)

* Add workflow checkpoint upgrade guide for full replayability (#1080)

* Add workflow checkpoint upgrade guide for full replayability

* Restore main TOC

* Add background section

* Address Agent Framework publishing review feedback (#1082)

* Address main-to-live review feedback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Keep Hosting overview first

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

---------

Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649

* Remove Harnessed Agent (#1083)

* Remove Harnessed Agent

* Revert formatting

* Fix TOC

---------

Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
Co-authored-by: Peter Ibekwe <109177538+peibekwe@users.noreply.github.com>
Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Giles Odigwe <79032838+giles17@users.noreply.github.com>
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
Co-authored-by: Daniel Roth <daroth@microsoft.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
Copilot-Session: 636b7fb2-381a-4d62-b5cf-d029efa3ad20
Copilot-Session: 992babcc-1fbb-4fb5-8275-880f6db989e0
Copilot-Session: 02caa81e-9610-446f-b9ec-963a66f86638
Copilot-Session: fc351972-9bb0-4356-9d67-4560a2c06ddc
Copilot-Session: eeb2168d-2ecc-4f8d-9830-c287072eb7e1
Copilot-Session: 5917e80d-6d1c-4717-922b-c0463d5c066d
Copilot-Session: 0be4f84c-fd47-4f2d-86b8-b4ac2332d649
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant