Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
8d62f5b
Refactor DocumentEntry model and update result handling
changjian-wang May 13, 2026
51be00b
Potential fix for pull request finding
changjian-wang May 13, 2026
6419e4c
Merge branch 'main' into changjian-wang/python-cu-to-llm-input-adoption
changjian-wang May 13, 2026
0ab5383
Merge branch 'main' into changjian-wang/python-cu-to-llm-input-adoption
changjian-wang May 13, 2026
e6c25be
Merge branch 'main' into changjian-wang/python-cu-to-llm-input-adoption
changjian-wang May 14, 2026
420c336
Add test to ensure page markers are preserved in LLM input
changjian-wang May 14, 2026
e0d9f88
Merge Python CU LLM input adoption changes into .NET work branch
changjian-wang May 15, 2026
bccdb1a
Phase 1: scaffold Microsoft.Agents.AI.AzureAI.ContentUnderstanding
changjian-wang May 15, 2026
1ecc379
Phase 1 fixup: make scaffold build clean
changjian-wang May 15, 2026
1f7adba
Add unit tests for ContentUnderstandingContextProvider
wangchangjian1130 May 17, 2026
b9198db
Refactor ContentUnderstandingContextProvider and add analysis outcome…
changjian-wang May 18, 2026
2732b13
Enhance attachment detection and support for additional media types; …
changjian-wang May 20, 2026
54c3717
Implement filename sanitization in AttachmentDetector; add unit tests…
changjian-wang May 21, 2026
cd9cdfb
Merge remote-tracking branch 'upstream/main' into changjian-wang/pyth…
changjian-wang May 21, 2026
b62d92b
fix(cu-context-provider): scope LLMStats telemetry filter to rai_warn…
May 21, 2026
9dbc43c
Merge branch 'main' into changjian-wang/python-cu-to-llm-input-adoption
changjian-wang May 21, 2026
63513a3
Sync uv.lock with azure-ai-contentunderstanding>=1.2.0b1 dependency bump
wangchangjian1130 May 21, 2026
ef793bd
Merge branch 'tmp-5796' into dotnet/cu-context-provider
changjian-wang May 22, 2026
92848ab
Merge remote-tracking branch 'upstream/main' into dotnet/cu-context-p…
changjian-wang May 22, 2026
0c4e10d
Refactor: Clean up using directives and exception documentation acros…
changjian-wang May 22, 2026
e1daf89
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang May 25, 2026
cbc9c6b
fix: handle duplicate filenames in session without throwing exceptions
changjian-wang May 25, 2026
e97e076
feat: enhance file name display in responses by wrapping in backticks…
changjian-wang May 26, 2026
036642a
feat: update response formatting guidelines to include GitHub-flavore…
changjian-wang May 26, 2026
19653d4
fix: update changelog with correct pull request reference and enhance…
changjian-wang May 26, 2026
e25ad0f
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang May 26, 2026
b3df4d1
refactor: standardize agent name constants to PascalCase in multiple …
changjian-wang May 26, 2026
c2a8498
fix: remove outdated patterns from linkspector configuration
changjian-wang May 26, 2026
cf1c972
scope: limit PR to Microsoft.Agents.AI.AzureAI.ContentUnderstanding
changjian-wang May 27, 2026
c9dc33e
chore(cu): clean up naming + remove Python parity references
changjian-wang May 27, 2026
6bb9a16
chore(cu): rename private static readonly fields in AttachmentDetecto…
changjian-wang May 27, 2026
450384b
fix(dotnet/cu): bump Step 08 MaxWait to 60s for prebuilt-documentSearch
changjian-wang May 28, 2026
58ebc2e
docs(dotnet/cu): align Step 06/07/08 DevUI sample READMEs with Python…
changjian-wang May 28, 2026
76e422f
feat: Enhance DocumentEntry with Markdown-safe filename handling and …
changjian-wang May 28, 2026
f3caa1b
fix(dotnet/cu): align Step 08 DevUI sample with Step 07 pattern
wangchangjian1130 May 28, 2026
5c4391a
refactor: simplify file-search payload configuration and update relat…
changjian-wang May 29, 2026
2db0c3a
refactor: replace CU provider configure-lambda ctor with options object
changjian-wang Jun 1, 2026
3e22618
fix(dotnet/cu): restore RenderSearchPayload, guard null URI, align te…
changjian-wang Jun 4, 2026
8b12738
perf(dotnet/cu): avoid full-payload copy/hash in AttachmentDetector
changjian-wang Jun 4, 2026
c479c57
Strengthen synthesized-filename hash: tail-window sampling + 48-bit p…
changjian-wang Jun 4, 2026
3a068fe
Clarify that MaxWait excludes request-body upload time
changjian-wang Jun 4, 2026
ee2da48
Fix cross-session leak: rebuild CU tools per turn instead of via shar…
changjian-wang Jun 4, 2026
7a941b0
Harden filename synthesis: full-hash small payloads, stable URI dedup…
changjian-wang Jun 4, 2026
3a26a01
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 5, 2026
b067b1e
Migrate CU samples and README to options-object constructor
changjian-wang Jun 5, 2026
4e570d4
Merge branch 'dotnet/cu-context-provider' of https://github.com/chang…
changjian-wang Jun 5, 2026
9e9d8ab
Harden CU MIME detection and provider robustness
changjian-wang Jun 5, 2026
ab8eefd
Harden CU provider robustness and multi-TFM portability
changjian-wang Jun 8, 2026
6090864
Add CU tests for provider robustness and portability changes
changjian-wang Jun 8, 2026
d7b5f2f
Fix misleading comments in CU attachment detection
changjian-wang Jun 8, 2026
4f51646
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 9, 2026
d19ad36
Rename constant for clarity in MimeSniffer after tag inspection
changjian-wang Jun 9, 2026
688611a
Merge branch 'dotnet/cu-context-provider' of https://github.com/chang…
changjian-wang Jun 9, 2026
f746b6a
Harden CU attachment detection: URI decode, stable dedup, MPEG2 frame…
changjian-wang Jun 9, 2026
845fe83
Fix dotnet format violations in CU live tests
changjian-wang Jun 9, 2026
39de077
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 9, 2026
a6fe40b
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 11, 2026
477dbb6
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 12, 2026
ec204bb
Revert Python changes; keep PR .NET-only (Python tracked in #5796)
changjian-wang Jun 12, 2026
38c110b
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 12, 2026
3e959fc
.NET: Adopt SDK 1.2.0-beta.2 LLMStats filtering and single render sou…
changjian-wang Jun 12, 2026
6d7911e
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 15, 2026
286108c
.NET: Harden Step06 DevUI base64 rewrite middleware against malformed…
changjian-wang Jun 15, 2026
36b4156
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 15, 2026
8d27505
Fix check-format: correct Phase9 initializer indentation and FakeResu…
changjian-wang Jun 15, 2026
e30be22
Merge branch 'dotnet/cu-context-provider' of https://github.com/chang…
changjian-wang Jun 15, 2026
fb22beb
ci: retrigger checks (clean run after history tidy)
changjian-wang Jun 15, 2026
5b17cf4
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 15, 2026
0ef35cf
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 15, 2026
447f2fd
.NET CU: relocate samples under package + address PR review feedback
changjian-wang Jun 18, 2026
a7efa05
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 18, 2026
1967021
Merge upstream/main into dotnet/cu-context-provider
changjian-wang Jun 22, 2026
715ba05
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 26, 2026
c2a388d
Merge branch 'main' into dotnet/cu-context-provider
changjian-wang Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion dotnet/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -409,4 +409,6 @@ FodyWeavers.xsd
.foundry-agent-build.log

# Pre-published output for Docker builds
out/
out/
# Any directory named _local_only is for local temp files — never committed
**/_local_only/
7 changes: 4 additions & 3 deletions dotnet/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@
<PackageVersion Include="Azure.Search.Documents" Version="12.0.0" />
<PackageVersion Include="Azure.AI.Projects" Version="2.1.0-beta.3" />
<PackageVersion Include="Azure.AI.Agents.Persistent" Version="1.2.0-beta.10" />
<PackageVersion Include="Azure.AI.ContentUnderstanding" Version="1.2.0-beta.2" />
<PackageVersion Include="Azure.AI.OpenAI" Version="2.9.0-beta.1" />
<PackageVersion Include="Azure.Core" Version="1.57.0" />
<PackageVersion Include="Azure.Core" Version="1.59.0" />
<PackageVersion Include="Azure.Identity" Version="1.21.0" />
<PackageVersion Include="DotNetEnv" Version="3.1.1" />
<PackageVersion Include="Azure.Monitor.OpenTelemetry.Exporter" Version="1.5.0" />
Expand All @@ -45,7 +46,7 @@
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="10.0.8" />
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="6.0.0" />
<PackageVersion Include="Microsoft.Bcl.Memory" Version="10.0.5" />
<PackageVersion Include="System.ClientModel" Version="1.13.0" />
<PackageVersion Include="System.ClientModel" Version="1.14.0" />
<PackageVersion Include="System.CodeDom" Version="10.0.0" />
<PackageVersion Include="System.Collections.Immutable" Version="10.0.1" />
<PackageVersion Include="System.CommandLine" Version="2.0.0-rc.2.25502.107" />
Expand Down Expand Up @@ -120,7 +121,7 @@
<PackageVersion Include="OllamaSharp" Version="5.4.8" />
<PackageVersion Include="OpenAI" Version="2.10.0" />
<!-- Identity -->
<PackageVersion Include="Microsoft.Identity.Client.Extensions.Msal" Version="4.83.1" />
<PackageVersion Include="Microsoft.Identity.Client.Extensions.Msal" Version="4.84.2" />
<!-- Workflows -->
<PackageVersion Include="Microsoft.Agents.ObjectModel" Version="2026.2.4.1" />
<PackageVersion Include="Microsoft.Agents.ObjectModel.Json" Version="2026.2.4.1" />
Expand Down
18 changes: 18 additions & 0 deletions dotnet/agent-framework-dotnet.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,21 @@
<Project Path="samples/02-agents/AgentWithCodeAct/AgentWithCodeAct_Step02_ToolEnabled/AgentWithCodeAct_Step02_ToolEnabled.csproj" />
<Project Path="samples/02-agents/AgentWithCodeAct/AgentWithCodeAct_Step03_ManualWiring/AgentWithCodeAct_Step03_ManualWiring.csproj" />
</Folder>
<Folder Name="/Samples/02-agents/AgentWithContentUnderstanding/">
<File Path="src/Microsoft.Agents.AI.AzureAI.ContentUnderstanding/samples/README.md" />
</Folder>
<Folder Name="/Samples/02-agents/AgentWithContentUnderstanding/01-get-started/">
<Project Path="src/Microsoft.Agents.AI.AzureAI.ContentUnderstanding/samples/01-get-started/01_DocumentQA/01_DocumentQA.csproj" />
<Project Path="src/Microsoft.Agents.AI.AzureAI.ContentUnderstanding/samples/01-get-started/02_MultiTurnSession/02_MultiTurnSession.csproj" />
<Project Path="src/Microsoft.Agents.AI.AzureAI.ContentUnderstanding/samples/01-get-started/03_MultimodalChat/03_MultimodalChat.csproj" />
<Project Path="src/Microsoft.Agents.AI.AzureAI.ContentUnderstanding/samples/01-get-started/04_InvoiceProcessing/04_InvoiceProcessing.csproj" />
<Project Path="src/Microsoft.Agents.AI.AzureAI.ContentUnderstanding/samples/01-get-started/05_LargeDocFileSearch/05_LargeDocFileSearch.csproj" />
</Folder>
<Folder Name="/Samples/02-agents/AgentWithContentUnderstanding/02-devui/">
<Project Path="src/Microsoft.Agents.AI.AzureAI.ContentUnderstanding/samples/02-devui/01_MultimodalAgent/01_MultimodalAgent.csproj" />
<Project Path="src/Microsoft.Agents.AI.AzureAI.ContentUnderstanding/samples/02-devui/02_FileSearchAgent/AzureOpenAIBackend/AzureOpenAIBackend.csproj" />
<Project Path="src/Microsoft.Agents.AI.AzureAI.ContentUnderstanding/samples/02-devui/02_FileSearchAgent/FoundryBackend/FoundryBackend.csproj" />
</Folder>
<Folder Name="/Samples/02-agents/AgentWithMemory/">
<File Path="samples/02-agents/AgentWithMemory/README.md" />
<Project Path="samples/02-agents/AgentWithMemory/AgentWithMemory_Step01_ChatHistoryMemory/AgentWithMemory_Step01_ChatHistoryMemory.csproj" />
Expand Down Expand Up @@ -608,6 +623,7 @@
<Project Path="src/Microsoft.Agents.AI.AGUI/Microsoft.Agents.AI.AGUI.csproj" />
<Project Path="src/Microsoft.Agents.AI.Anthropic/Microsoft.Agents.AI.Anthropic.csproj" />
<Project Path="src/Microsoft.Agents.AI.AzureAI.Persistent/Microsoft.Agents.AI.AzureAI.Persistent.csproj" />
<Project Path="src/Microsoft.Agents.AI.AzureAI.ContentUnderstanding/Microsoft.Agents.AI.AzureAI.ContentUnderstanding.csproj" />
<Project Path="src/Microsoft.Agents.AI.CopilotStudio/Microsoft.Agents.AI.CopilotStudio.csproj" />
<Project Path="src/Microsoft.Agents.AI.CosmosNoSql/Microsoft.Agents.AI.CosmosNoSql.csproj" />
<Project Path="src/Microsoft.Agents.AI.Declarative/Microsoft.Agents.AI.Declarative.csproj" />
Expand Down Expand Up @@ -644,6 +660,7 @@
<Project Path="tests/AgentConformance.IntegrationTests/AgentConformance.IntegrationTests.csproj" />
<Project Path="tests/AnthropicChatCompletion.IntegrationTests/AnthropicChatCompletion.IntegrationTests.csproj" />
<Project Path="tests/AzureAIAgentsPersistent.IntegrationTests/AzureAIAgentsPersistent.IntegrationTests.csproj" />
<Project Path="tests/AzureAIContentUnderstanding.IntegrationTests/AzureAIContentUnderstanding.IntegrationTests.csproj" />
<Project Path="tests/CopilotStudio.IntegrationTests/CopilotStudio.IntegrationTests.csproj" />
<Project Path="tests/Foundry.Hosting.IntegrationTests.TestContainer/Foundry.Hosting.IntegrationTests.TestContainer.csproj" />
<Project Path="tests/Foundry.Hosting.IntegrationTests/Foundry.Hosting.IntegrationTests.csproj" />
Expand All @@ -667,6 +684,7 @@
<Project Path="tests/Microsoft.Agents.AI.AGUI.UnitTests/Microsoft.Agents.AI.AGUI.UnitTests.csproj" />
<Project Path="tests/Microsoft.Agents.AI.Anthropic.UnitTests/Microsoft.Agents.AI.Anthropic.UnitTests.csproj" />
<Project Path="tests/Microsoft.Agents.AI.AzureAI.Persistent.UnitTests/Microsoft.Agents.AI.AzureAI.Persistent.UnitTests.csproj" />
<Project Path="tests/Microsoft.Agents.AI.AzureAI.ContentUnderstanding.UnitTests/Microsoft.Agents.AI.AzureAI.ContentUnderstanding.UnitTests.csproj" />
<Project Path="tests/Microsoft.Agents.AI.CosmosNoSql.UnitTests/Microsoft.Agents.AI.CosmosNoSql.UnitTests.csproj" />
<Project Path="tests/Microsoft.Agents.AI.Declarative.UnitTests/Microsoft.Agents.AI.Declarative.UnitTests.csproj" />
<Project Path="tests/Microsoft.Agents.AI.DevUI.UnitTests/Microsoft.Agents.AI.DevUI.UnitTests.csproj" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Release History

## [Unreleased]

Initial public release ([#5998](https://github.com/microsoft/agent-framework/pull/5998)).

- Added `ContentUnderstandingContextProvider`, an `AIContextProvider` that runs PDF / image / audio / video attachments through Azure AI Content Understanding and injects the structured analysis (markdown, fields, segments) into the LLM input.
- Added `ContentUnderstandingContextProviderOptions` (analyzer id, `MaxWait` inline-vs-background threshold, output-section bitfield, optional file-search routing).
- Added `FileSearchConfig` with `FromFoundry` and `FromOpenAI` factories that wire a Foundry `AIProjectClient` or `OpenAIClient` vector store + caller-supplied `file_search` tool for over-budget analyses.
- Simplified file-search payload configuration: removed `FileSearchConfig.IncludeFields` and now use `ContentUnderstandingContextProviderOptions.OutputSections` as the single source of truth for rendered upload payload sections.
- Eight end-to-end samples (single-turn QA, multi-turn session, multimodal chat, invoice processing, large-doc file-search, and three DevUI-hosted variants) under [`dotnet/samples/02-agents/AgentWithContentUnderstanding/`](../../samples/02-agents/AgentWithContentUnderstanding/). 130 unit tests and 4 live integration tests cover the public surface.

Loading
Loading