Update AG-UI C# docs for MAF v1.14 package/API changes - #430
Update AG-UI C# docs for MAF v1.14 package/API changes#430Daniel Roth (danroth27) wants to merge 35 commits into
Conversation
- 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 status updates of commit 158ea7f: ✅ Validation status: passed
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 status updates of commit 44152c3: ✅ Validation status: passed
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 status updates of commit 6cc3dbb: ✅ Validation status: passed
For more details, please refer to the build report. |
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 status updates of commit efdb056: ✅ Validation status: passed
For more details, please refer to the build report. |
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 status updates of commit 97e2805: ✅ Validation status: passed
For more details, please refer to the build report. |
|
Learn Build status updates of commit 2897adf: ✅ Validation status: passed
For more details, please refer to the build report. |
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 status updates of commit 4077549: ✅ Validation status: passed
For more details, please refer to the build report. |
…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 status updates of commit 26674e8: ✅ Validation status: passed
For more details, please refer to the build report. |
…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 status updates of commit f479683:
|
| File | Status | Preview URL | Details |
|---|---|---|---|
| agent-framework/integrations/ag-ui/predictive-state-updates.md | Details | ||
| agent-framework/integrations/ag-ui/state-management.md | 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.
…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 status updates of commit c0766ab:
|
| File | Status | Preview URL | Details |
|---|---|---|---|
| agent-framework/integrations/ag-ui/predictive-state-updates.md | Details | ||
| agent-framework/integrations/ag-ui/state-management.md | 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 status updates of commit f43bcc6:
|
| File | Status | Preview URL | Details |
|---|---|---|---|
| agent-framework/integrations/ag-ui/predictive-state-updates.md | Details | ||
| agent-framework/integrations/ag-ui/state-management.md | 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 status updates of commit 455617c: ✅ Validation status: passed
For more details, please refer to the build report. |
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 status updates of commit e17645e: ✅ Validation status: passed
For more details, please refer to the build report. |
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 status updates of commit 90128d4:
|
| File | Status | Preview URL | Details |
|---|---|---|---|
| agent-framework/integrations/ag-ui/state-management.md | Details | ||
| agent-framework/TOC.yml | 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 status updates of commit 148bb19: ✅ Validation status: passed
For more details, please refer to the build report. |
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 status updates of commit e6e346d: ✅ Validation status: passed
For more details, please refer to the build report. |
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 status updates of commit 0f7f3ee: ✅ Validation status: passed
For more details, please refer to the build report. |
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 status updates of commit f9a98a6: ✅ Validation status: passed
For more details, please refer to the build report. |
- 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 status updates of commit 77d4058: ✅ Validation status: passed
For more details, please refer to the build report. |
…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 status updates of commit a4f80de: ✅ Validation status: passed
For more details, please refer to the build report. |
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 status updates of commit 87a1912: ✅ Validation status: passed
For more details, please refer to the build report. |
|
Learn Build status updates of commit 3050cbb: ✅ Validation status: passed
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 status updates of commit 1101001: ✅ Validation status: passed
For more details, please refer to the build report. |
…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 status updates of commit 03f39fa: ✅ Validation status: passed
For more details, please refer to the build report. |
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 status updates of commit bfe57b5: ✅ Validation status: passed
For more details, please refer to the build report. |
- 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 status updates of commit 6538204: ✅ Validation status: passed
For more details, please refer to the build report. |
* 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
* 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
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.AGUIpackage and the oldAddAGUI()/MapAGUI()API.Changes
AGUI.Client,AGUI.Server,AGUI.Abstractions); the in-treeMicrosoft.Agents.AI.AGUIpackage was removed. Server hosting stays inMicrosoft.Agents.AI.Hosting.AGUI.AspNetCore.AddA2AServerconvention):builder.Services.AddAGUI()→builder.Services.AddAGUIServer()app.MapAGUI("/", agent)→app.MapAGUIServer("/", agent)AGUIChatClientconstruction is now options-based:new AGUIChatClient(httpClient, serverUrl)→new AGUIChatClient(new AGUIChatClientOptions(httpClient, serverUrl))usingdirectives (Microsoft.Agents.AI.AGUI→AGUI.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
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.mdand ag-ui-protocol/ag-ui#1963.