The underlying native schema support in OpenAI has specific requirements on valid schema names, as shown in the following exception when using either an array or any other generic type:
```
Unhandled exception. System.ClientModel.ClientResultException: HTTP 400 (invalid_request_error: invalid_value)
Parameter: response_format.json_schema.name
Invalid 'response_format.json_schema.name': string does not match pattern. Expected a string that matches the pattern '^[a-zA-Z0-9_-]+$'.
at OpenAI.ClientPipelineExtensions.ProcessMessageAsync(ClientPipeline pipeline, PipelineMessage message, RequestOptions options)
```
This fix follows the approach used to sanitize function names, and sanitizes the schema name the same way.
Fixes#5501
Given implementation details of the JSON source generator today, even with the converter applied to these properties, code is still being generated for Exception, leading to unsuppressable trimmer warnings.
* Flip default on FunctionInvokingChatClient.ConcurrentInvocation
For better reliability, default ConcurrentInvocation to false, so that it doesn't introduce concurrency / parallelism where there wasn't any.
* Update src/Libraries/Microsoft.Extensions.AI/ChatCompletion/FunctionInvokingChatClient.cs
Co-authored-by: Igor Velikorossov <RussKie@users.noreply.github.com>
---------
Co-authored-by: Igor Velikorossov <RussKie@users.noreply.github.com>
Getting ready for our 9.0-preview9 release
----
#### AI description (iteration 1)
#### PR Classification
Dependency update
#### PR Summary
This pull request updates the project to use RC2 versions of ASP.NET Core and runtime dependencies.
- Updated dependency versions in `/eng/Version.Details.xml` and `/eng/Versions.props` to RC2.
- Removed code coverage stage from `azure-pipelines.yml`.
- Added setup for private feeds credentials in `/eng/pipelines/templates/BuildAndTest.yml`.
- Disabled NU1507 warning in `Directory.Build.props`.
- Modified `NuGet.config` to include `dotnet9-internal` feed and removed package source mappings.
Getting ready for 8.10 release
----
#### AI description (iteration 1)
#### PR Classification
Release preparation
#### PR Summary
This pull request updates dependencies and configurations in preparation for the 8.10 release.
- `/eng/Version.Details.xml`: Updated various dependencies to newer versions.
- `/eng/Versions.props`: Synchronized dependency versions with the latest updates.
- `/azure-pipelines.yml`: Removed the `codecoverage` stage.
- `/eng/pipelines/templates/BuildAndTest.yml`: Added steps to set up private feed credentials for both Windows and non-Windows agents.
Fixes#4957
- Adds extension methods allowing retrieval of the request message from resilience context
- Replaces usage of ResilienceKeys.RequestMessage variable with corresponding Get/Set methods
[dev] Update dependencies from dotnet/aspnetcore
- Coherency Updates:
- Microsoft.Bcl.TimeProvider: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Caching.Abstractions: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Caching.Memory: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Configuration.Abstractions: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Configuration.Binder: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Configuration.Json: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Configuration: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.DependencyInjection.Abstractions: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.DependencyInjection: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Hosting.Abstractions: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Diagnostics: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Hosting: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Http: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Logging.Abstractions: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Logging.Configuration: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Logging.Console: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Logging: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Options.ConfigurationExtensions: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.Extensions.Options: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.NETCore.App.Ref: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- Microsoft.NETCore.App.Runtime.win-x64: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.Collections.Immutable: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.Configuration.ConfigurationManager: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.Diagnostics.DiagnosticSource: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.Diagnostics.PerformanceCounter: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.IO.Hashing: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.IO.Pipelines: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.Security.Cryptography.Pkcs: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.Security.Cryptography.Xml: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.Text.Encodings.Web: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.Text.Json: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
- System.Runtime.Caching: from 9.0.0-rtm.24473.2 to 9.0.0-rtm.24476.4 (parent: Microsoft.AspNetCore.App.Runtime.win-x64)
* Add KubernetesProbesOptionsValidator to enforce different ports for probes
* Add another tests that KubernetesProbesOptions are validated when Host is starting
* update
---------
Co-authored-by: Yifan Zhu <yifzhu@microsoft.com>