Commit 2b6ecc1
Merge changes from internal (#7038)
* Merged PR 54952: Getting ready for the 10.0 stable release. Flowing .NET Servicing
#### AI description (iteration 1)
#### PR Classification
This PR updates dependency versions and build pipeline configurations to prepare for the .NET 10.0 stable release.
#### PR Summary
The changes update dependency and LTS versions (upgrading many from 9.0.10 to 9.0.11), enable release-specific flags, and streamline the build pipelines for servicing.
- **`eng/Version.Details.xml` and `eng/Versions.props`**: Upgraded various dependency versions and LTS numbers and set stabilization flags (e.g., `StabilizePackageVersion` to true, `DotNetFinalVersionKind` to release).
- **`azure-pipelines.yml`**: Removed the code coverage stage to simplify the CI pipeline.
- **`eng/pipelines/templates/BuildAndTest.yml`**: Added tasks to set up private feed credentials and commented out integration tests that require authentication.
- **`NuGet.config`**: Revised package source configuration by removing package source mapping and adding new internal feed URLs.
- **`Directory.Build.props`**: Suppressed NU1507 warnings to accommodate internal branch configuration.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
* [MEDI] start producing NuGet packages (#7016)
* remove IsPackable=false, provide all mandatory properties for each package we want to ship
* add basic READMEs
* Update version numbers in AI changelogs (#7008)
* [MEDI] Don't stop document processing on enricher error (#7005)
* introduce EnricherOptions option bag
* implement batching
* don't validate results returned by IChatClient
* don't expose FileInfo as source via IngestionResult, as it could be Stream in the future. Just expose the document id
* Enricher failures should not fail the whole ingestion pipeline, as they are best-effort enhancements
* [MEDI] add PackageTags (#7022)
* Add MarkItDownMcpReader for MCP server support (#7025)
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: Adam Sitnik <[email protected]>
* Image generation tool (#6749)
* Prototype of using ImageGenerationTool
* Handle DataContent returned from ImageGen
* React to rename and improve metadata
* Handle image_generation tool content from streaming
* Add handling for combining updates with images
* Add tests for new ChatResponseUpdateExtensions
* Rename ImageGenerationTool to HostedImageGenerationTool
* Remove ChatResponseUpdateCoalescingOptions
* Add ImageGeneratingChatClient
* Fix namespace of tool
* Replace traces of function calling
* More namepsace fix
* Enable editing
* Update to preview OpenAI with image tool support
* Temporary OpenAI feed
* Fix tests
* Add integration tests for ImageGeneratingChatClient
* Remove ChatRole.Tool -> Assistant workaround
* Remove use of private reflection for Image results
* Add ChatResponseUpdate.Clone
* Move all mutable state into RequestState object
* Adjust prompt to improve integration test reliability
* Refactor tool initialization
I verified that the tool creation is cached by ReflectionAIFunctionDescriptor
This change includes a small optimization to avoid additional allocation
around inserting tools into the options.
* Add integration tests for streaming
Fixes the removal of tool content - this was broken for streaming when
I changed removal to be based on callId. We don't have the CallId yet
in the streaming case so we have to remove by name.
* React to changes and fix tests
* Address feedback
* Fix SkipTestException from ConditionalTheory
* Fix formatting
* Add back image replacement coalescing (removed in merge)
* Fix template tests and use new OpenAI
* Remove use of temporary staging nuget feed
* Address feedback
* Make ImageGeneratingChatClient use ImageGenerationTool*Content
* Remove ApplyUpdates and Coalesce ImageResults instead of DataContent.
* Workaround OpenAI issue where image data is not read for partial images.
openai/openai-dotnet#809
* Improved workaround
* Return ImageGenerationToolCallContent from OpenAI
* Add OpenAI image tool tests with representation of real traffic
* Correct the event sequence for streaming single image
* Fix some docs and refactor for clarity
* Make MEAI packages use 10.0 runtime packages (#7028)
* Make MEAI packages use 10.0 runtime packages
* Add back MEAI.Abstractions JsonSchemaExporter tests
* Address feedback
* Remove unneeded trimming suppression
* When using latest .NET packages, force System.Numerics.Tensors to 10.0 (for MEAI) (#7031)
* Add a new Microsoft.Agents.AI.Templates package with an aiagents-webapi project template (#7014)
* Initial Microsoft.Agents.AI.Templates structure
* Refine Microsoft.Agents.AI.Templates infrastructure
* Move project template infrastructure utilities into a shared folder
* Add the webapi-agents project template content with GitHub models
* Support parameterized AI Service Provider
* Rename to aiagents-webapi
* Support parameterized chatmodel and update docs with renames
* Add Snapshot tests
* Add aiagents-webapi snapshot tests
* Add aiagents-webapi execution tests (and component governance)
* Improve aiagents-webapi template parameters
* Apply suggestions from copilot code review
Co-authored-by: Copilot <[email protected]>
* Move shared ProjectTemplate infrastructure to not get included in Shared.Tests
* Fix the template sandbox / execution tests after moving infrastructure
* Ignore CA1716 warning about 'Shared' namespace in template tests
* Clean up template sandbox source/output
* Rename to "aiagent-webapi" and favor singular "Agent". Docs cleanup.
* Update templates dev doc to cover Microsoft.Agents.AI.Templates too
* Fix remaining template sandbox references with new paths
* Add a tool call in aiagent-webapi. Update workflow API usage for upcoming change.
Fix snapshots
* Exclude csproj.in file from template package
* Add a survey link to the aiagent-webapi template's generated readme
---------
Co-authored-by: Copilot <[email protected]>
* Use `Microsoft.Extensions.DataIngestion` in AI Chat Web template (#7023)
* Add Markdown support
* Remove PDF support
* Revert "Remove PDF support"
This reverts commit e1d066034962c9686bf8150984b6adf0e25846c8.
* Add 'Example_GPS_Watch.md'
* Add MEDI dependencies
* Revert "[MEDI] Remove collection key type workaround (#7010)"
This reverts commit a369be9.
* MEDI integration into chat template
* Remove PdfPig dependency
* Fix citation + normalize identifier path
* Undo changes to `M.E.DI.csproj`
* Update snapshots
* Update DataIngestion unit tests to handle keys as either strings or guids
* Update SK and fix MEDI version
* Remove SK workaround
* Fix sandbox paths to allow running tests multiple times
* Reliable data ingestion
* Enable MEDI tracing
* Simplify log message
* Add `PdfPigReader` for non-Aspire template
* Invert PdfPigReader exclusion condition
* Use Markitdown MCP
* Update snapshots
* Undo changes to `IngestionPipelineTests.cs`
* Update src/ProjectTemplates/Microsoft.Extensions.AI.Templates/src/ChatWithCustomData/ChatWithCustomData-CSharp.Web/Services/Ingestion/DocumentReader.cs
Co-authored-by: Jeff Handley <[email protected]>
* Update snapshots
* Improve template execution test failure output
* Support .NET 10 in aichatweb, using it by default
* Show a message when loading documents by loading docs as a separate tool
* disable the incremental ingestion
* map every PDF page to a single section
* drop SK dependency
* Add system prompt instructions for calling the LoadDocuments tool. Fix code formatting.
---------
Co-authored-by: Jeff Handley <[email protected]>
Co-authored-by: Adam Sitnik <[email protected]>
* Add Agent Framework DevUI into the aiagent-webapi template (#7026)
* Integrate DevUI into the aiagent-webapi project template
* Improve aiagent-webapi Program.cs per feedback.
* Remove --no-devui. Fix OpenAI clients. Augment execution test sandbox ignores.
* Rename to Microsoft.Agents.AI.ProjectTemplates
* Set Microsoft.Agents.AI package versions
* Simplify the GitHub and OpenAI key config vars for aiagent-webapi
* Sort package references
* Fix troubleshooting section in READMEs
* Revert MEAI.Templates change. Make launchSettings .gitignore more specific.
---------
Co-authored-by: Mackinnon Buck <[email protected]>
* Fix display of target frameworks in agents template. Hide the chat model textbox from the IDE template UI.
---------
Co-authored-by: Adam Sitnik <[email protected]>
Co-authored-by: Stephen Toub <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Eric StJohn <[email protected]>
Co-authored-by: Jeff Handley <[email protected]>
Co-authored-by: Jeff Handley <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Mackinnon Buck <[email protected]>File tree
293 files changed
+8950
-5148
lines changed- eng
- MSBuild
- packages
- src
- Libraries
- Microsoft.Extensions.AI.Abstractions
- ChatCompletion
- Contents
- Image
- Tools
- Utilities
- Microsoft.Extensions.AI.AzureAIInference
- Microsoft.Extensions.AI.OpenAI
- Microsoft.Extensions.AI
- ChatCompletion
- Embeddings
- SpeechToText
- Microsoft.Extensions.DataIngestion.Abstractions
- Microsoft.Extensions.DataIngestion.MarkItDown
- Microsoft.Extensions.DataIngestion.Markdig
- Microsoft.Extensions.DataIngestion
- Processors
- Utils
- ProjectTemplates
- Microsoft.Agents.AI.ProjectTemplates
- src/WebApiAgent/WebApiAgent-CSharp
- .template.config
- ide
- Properties
- Microsoft.Extensions.AI.Templates
- src
- ChatWithCustomData
- .template.config
- ChatWithCustomData-CSharp.AppHost
- ChatWithCustomData-CSharp.ServiceDefaults
- ChatWithCustomData-CSharp.Web
- Components/Pages/Chat
- Services
- Ingestion
- wwwroot
- Data
- lib/markdown_viewer
- McpServer/McpServer-CSharp
- .template.config
- test
- Libraries
- Microsoft.Extensions.AI.Abstractions.Tests
- ChatCompletion
- Utilities
- Microsoft.Extensions.AI.AzureAIInference.Tests
- Microsoft.Extensions.AI.Integration.Tests
- Microsoft.Extensions.AI.OllamaSharp.Integration.Tests
- Microsoft.Extensions.AI.OpenAI.Tests
- Microsoft.Extensions.AI.Tests/ChatCompletion
- Microsoft.Extensions.DataIngestion.Tests
- Processors
- Readers
- Utils
- ProjectTemplates
- Infrastructure
- TemplateSandbox
- Microsoft.Agents.AI.ProjectTemplates.IntegrationTests
- Snapshots
- aiagent-webapi.AzureOpenAI_ApiKey.verified/aiagent-webapi
- Properties
- aiagent-webapi.AzureOpenAI_ManagedIdentity.verified/aiagent-webapi
- Properties
- aiagent-webapi.DefaultParameters.verified/aiagent-webapi
- Properties
- aiagent-webapi.GitHubModels.verified/aiagent-webapi
- Properties
- aiagent-webapi.Ollama.verified/aiagent-webapi
- Properties
- aiagent-webapi.OpenAI.verified/aiagent-webapi
- Properties
- Microsoft.Extensions.AI.Templates.IntegrationTests
- Infrastructure
- Snapshots
- aichatweb.AzureOpenAI_Qdrant_Aspire.verified/aichatweb
- aichatweb.AppHost
- aichatweb.ServiceDefaults
- aichatweb.Web
- Components/Pages/Chat
- Services
- Ingestion
- wwwroot
- Data
- lib/markdown_viewer
- aichatweb.Basic.verified/aichatweb
- Components/Pages/Chat
- Services
- Ingestion
- wwwroot
- Data
- lib/markdown_viewer
- aichatweb.BasicAspire.verified/aichatweb
- aichatweb.AppHost
- aichatweb.ServiceDefaults
- aichatweb.Web
- Components/Pages/Chat
- Services
- Ingestion
- wwwroot
- Data
- lib/markdown_viewer
- aichatweb.Ollama_Qdrant.verified/aichatweb
- aichatweb.AppHost
- aichatweb.ServiceDefaults
- aichatweb.Web
- Components/Pages/Chat
- Services
- Ingestion
- wwwroot
- Data
- lib/markdown_viewer
- aichatweb.OpenAI_AzureAISearch.verified/aichatweb
- Components/Pages/Chat
- Services
- Ingestion
- wwwroot
- Data
- lib/markdown_viewer
- mcpserver.AotTrue.verified/mcpserver
- mcpserver.Basic.verified/mcpserver
- mcpserver.SelfContainedFalse.verified/mcpserver
- TemplateSandbox
- TestUtilities/XUnit
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
293 files changed
+8950
-5148
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
11 | 16 | | |
12 | 17 | | |
13 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | 50 | | |
55 | 51 | | |
56 | 52 | | |
| |||
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
35 | | - | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
34 | 40 | | |
35 | 41 | | |
36 | 42 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments