Skip to content

Python: Feature keyword hybrid search #10803

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

westey-m
Copy link
Contributor

@westey-m westey-m commented Mar 5, 2025

Motivation and Context

Adding hybrid search to release March release branch

Description

Adding hybrid search to release March release branch

Contribution Checklist

moonbox3 and others added 30 commits January 24, 2025 18:00
### Motivation and Context

This PR addresses an issue in the `KernelPlugin.from_directory()` method
where classes without any `@kernel_function` decorated methods are still
being initialized during plugin loading.

The fix makes sure that only classes with at least one
`@kernel_function` decorated method are instantiated and included as
plugins. Classes without `@kernel_function` methods are now skipped
entirely.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

This PR:
- Updates the `from_python_file` to inspect each class for
`@kernel_function` decorated methods before instantiation.
- Updates the `add_plugin` method `plugin_name` to make sure it is
indeed a string, per the type hint.
   - Adds a unit test to exercise the new behavior
- Closes #10280

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Resolves: #10203

This PR:
- Moves `IChatHistoryReducer` from `Agents.Core` to
`Microsoft.SemanticKernel.Abstractions` package.
- Moves implementations `ChatHistorySummarizationReducer` and
`ChatHistoryTruncationReducer` from `Agents.Core` to
`Microsoft.SemanticKernel.Core` package.

The functionality is marked as experimental.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Add support for Azure AI Agents: 
-
https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/ai/Azure.AI.Projects/src/Custom/Agent
- https://learn.microsoft.com/en-us/azure/ai-services/agents/

Fixes: #10114

### Description
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

- Adds `AzureAIAgent` type in a new project/package
- Maintains parity with `OpenAIAssistantAgent` 
- Supports Azure specific tool offerings

### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
…0298)

### Motivation and Context

To bring the SK Python framework closer to .Net parity, we need to
support the ability to specify a prompt template config and kernel
arguments for ChatCompletion Agents as well as for Assistant Agents.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

This PR adds support for:
- being able to specify a prompt template config for SK agents.
- allows kernel arguments to be passed to the agent as well as during
invoke - invoke args, similar to other kwargs, take precedence over
agent level config.
- adds test coverage
- creates agent templating samples for both ChatCompletionAgents and
OpenAI/AzureAssistantAgents
- closes #8022 
- closes #8699

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
Bumps
[Testcontainers.Milvus](https://github.com/testcontainers/testcontainers-dotnet)
from 4.0.0 to 4.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/testcontainers/testcontainers-dotnet/releases">Testcontainers.Milvus's
releases</a>.</em></p>
<blockquote>
<h2>4.1.0</h2>
<h1>What's Changed</h1>
<p>This is likely the last release for this year, unless urgent fixes
become necessary.</p>
<p>I want to mention a change introduced in the last major release,
where we refactored the <code>IImage</code> interface. As part of this
update, we removed obsolete properties and overloaded constructors. If
you previously used an overload other than
<code>DockerImage(string)</code>, please ensure you pass the correct
values to the constructor.</p>
<p>Additionally, we replaced <a
href="https://github.com/testcontainers/Docker.DotNet">Docker.DotNet</a>
with our own fork to keep the Docker Engine API up to date. Our goal is
to improve reliability and performance while offering a more
developer-friendly and convenient client. If you depend on a Docker
client for .NET, we encourage you to contribute to this project ❤️.</p>
<p>On a personal note, I wish everyone a peaceful and lovely holiday
season. Take this time to rest, connect with loved ones, and recharge
for the new year. Take care.</p>
<h2>🚀 Features</h2>
<ul>
<li>feat: Add Azure Service Bus module (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1309">#1309</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
<li>feat: Set ryuk.container.privileged default value to true (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1313">#1313</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
<li>feat: Remove <code>net6.0</code> and add <code>net9.0</code> TFM (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1311">#1311</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
<li>feat: Introduce a new Testcontainers.Xunit package (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1165">#1165</a>)
<a href="https://github.com/0xced"><code>@​0xced</code></a></li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li>fix: Postpone exception in <code>DbContainerFixture</code> to match
the behavior of <code>ContainerFixture</code> (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1310">#1310</a>)
<a href="https://github.com/0xced"><code>@​0xced</code></a></li>
<li>fix: Do not pre-pull scratch image (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1304">#1304</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
<li>fix: Add HTTP wait strategy to prevent race-condition in
WaitUntilHttpRequestIsSucceededTest (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1299">#1299</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
<li>fix: Add HTTP wait strategy to prevent race-condition in
TarOutputMemoryStreamTest (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1297">#1297</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
<li>fix: Prepend Docker Hub namespace to repository (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1287">#1287</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
</ul>
<h2>📖 Documentation</h2>
<ul>
<li>docs: Add low level API access (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1300">#1300</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
</ul>
<h2>🧹 Housekeeping</h2>
<ul>
<li>feat: Add Respawn example (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1307">#1307</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
<li>chore: Add test to ensure that all test projects are configured for
CI (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1305">#1305</a>)
<a href="https://github.com/0xced"><code>@​0xced</code></a></li>
<li>chore: Run each test project on a separate runner (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1295">#1295</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
<li>chore: Replace Docker.DotNet with the Testcontainers organization's
build (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1292">#1292</a>)
<a
href="https://github.com/HofmeisterAn"><code>@​HofmeisterAn</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/testcontainers/testcontainers-dotnet/commit/0d86bda59ca536bd9108235d22ad06dae03ced53"><code>0d86bda</code></a>
fix: Set XunitV3 packable and publishable to false (NU5104)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-dotnet/commit/bf182b2a13b46c705a15481f4fc76cb44da04a9f"><code>bf182b2</code></a>
fix: Remove Sonar code smells</li>
<li><a
href="https://github.com/testcontainers/testcontainers-dotnet/commit/8e0f6d5bd114f6d7a60f99d6c4b261600d44b04d"><code>8e0f6d5</code></a>
feat: Add Azure Service Bus module (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1309">#1309</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-dotnet/commit/5ff4ae107a6bbe20d8523274eed624d58cf09570"><code>5ff4ae1</code></a>
feat: Set ryuk.container.privileged default value to true (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1313">#1313</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-dotnet/commit/e982134dc4694bb403375007c0b2f9f5cfca7764"><code>e982134</code></a>
fix: Postpone exception in <code>DbContainerFixture</code> to match the
behavior of `Con...</li>
<li><a
href="https://github.com/testcontainers/testcontainers-dotnet/commit/1f78b9052851394cff719a214e7ac55213619d1e"><code>1f78b90</code></a>
feat: Remove <code>net6.0</code> and add <code>net9.0</code> TFM (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1311">#1311</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-dotnet/commit/49ef7dcb39e6212deb5809ae5e81eef59328c9dc"><code>49ef7dc</code></a>
fix: Remove Sonar code smells</li>
<li><a
href="https://github.com/testcontainers/testcontainers-dotnet/commit/1cf48b25e2949c0f5007a97c26fbf22d818149f9"><code>1cf48b2</code></a>
feat: Introduce a new Testcontainers.Xunit package (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1165">#1165</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-dotnet/commit/aa8234d920a199b043abf593e3f8d20933fa3767"><code>aa8234d</code></a>
feat: Add Respawn example (<a
href="https://redirect.github.com/testcontainers/testcontainers-dotnet/issues/1307">#1307</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-dotnet/commit/6051cdbd758db2d6e0043cfd93f145da300d5f17"><code>6051cdb</code></a>
chore: Add test to ensure that all test projects are configured for
CI</li>
<li>Additional commits viewable in <a
href="https://github.com/testcontainers/testcontainers-dotnet/compare/4.0.0...4.1.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Testcontainers.Milvus&package-manager=nuget&previous-version=4.0.0&new-version=4.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Moq.Analyzers](https://github.com/rjmurillo/moq.analyzers) from
0.1.2 to 0.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rjmurillo/moq.analyzers/releases">Moq.Analyzers's
releases</a>.</em></p>
<blockquote>
<h2>v0.3.0</h2>
<p>Moq.Analyzers v0.3.0 🎄</p>
<p>Holidays are coming and it's time for the last release of the year!
🎉</p>
<p>There's a lot that has gone into this release, mostly housekeeping
and bug fixes that are transparent to you. However, there are two new
diagnostics included in this release.</p>
<p>This will be the last release until we move to
<strong>v1.0.0</strong></p>
<h2>Analyzer Behavior Changes</h2>
<ul>
<li>Remove false positive for Moq1200 when using parameterized lambda by
<a href="https://github.com/rjmurillo"><code>@​rjmurillo</code></a> in
<a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/301">rjmurillo/moq.analyzers#301</a></li>
<li>Add new rule to enforce MockBehavior.Strict (Moq1410) by <a
href="https://github.com/rjmurillo"><code>@​rjmurillo</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/302">rjmurillo/moq.analyzers#302</a></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Bump Nerdbank.GitVersioning from 3.6.143 to 3.6.146 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/232">rjmurillo/moq.analyzers#232</a></li>
<li>Bump Microsoft.Diagnostics.Tracing.TraceEvent from 3.1.15 to 3.1.16
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/228">rjmurillo/moq.analyzers#228</a></li>
<li>Add IOperation to DiagnosticExtensions and clean up overloads by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/233">rjmurillo/moq.analyzers#233</a></li>
<li>Bump nbgv from 3.6.143 to 3.6.146 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/230">rjmurillo/moq.analyzers#230</a></li>
<li>Bump Meziantou.Analyzer from 2.0.169 to 2.0.173 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/231">rjmurillo/moq.analyzers#231</a></li>
<li>Create a shared Common .projitems by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/235">rjmurillo/moq.analyzers#235</a></li>
<li>Remove ECS0200 suppression and update WellKnownTypes to not trigger
ECS0600 by <a
href="https://github.com/rjmurillo"><code>@​rjmurillo</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/236">rjmurillo/moq.analyzers#236</a></li>
<li>Add BannedApiAnalyzer and ban direct use of Diagnostic.Create by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/239">rjmurillo/moq.analyzers#239</a></li>
<li>Add *.props and *.targets to XML section of .editorconfig template
by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/240">rjmurillo/moq.analyzers#240</a></li>
<li>Bump Meziantou.Analyzer from 2.0.173 to 2.0.175 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/237">rjmurillo/moq.analyzers#237</a></li>
<li>Remove dead suppressions and dead code by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/242">rjmurillo/moq.analyzers#242</a></li>
<li>Add rule suppression docs to README and each rule by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/241">rjmurillo/moq.analyzers#241</a></li>
<li>Bump Meziantou.Analyzer from 2.0.175 to 2.0.176 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/243">rjmurillo/moq.analyzers#243</a></li>
<li>Disable SquiggleCop for PerfDiff by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/244">rjmurillo/moq.analyzers#244</a></li>
<li>Bump Roslynator.Analyzers from 4.12.8 to 4.12.9 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/246">rjmurillo/moq.analyzers#246</a></li>
<li>Bump Verify.Xunit from 27.0.1 to 27.1.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/247">rjmurillo/moq.analyzers#247</a></li>
<li>Use WellKnownTypeProvider + KnownSymbols pattern to simplify
analyzers by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/245">rjmurillo/moq.analyzers#245</a></li>
<li>Bump Polyfill from 7.1.2 to 7.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/248">rjmurillo/moq.analyzers#248</a></li>
<li>Bump Verify.Xunit from 27.1.0 to 28.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/251">rjmurillo/moq.analyzers#251</a></li>
<li>Bump Meziantou.Analyzer from 2.0.176 to 2.0.177 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/249">rjmurillo/moq.analyzers#249</a></li>
<li>Bump Verify.Xunit from 28.0.0 to 28.1.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/253">rjmurillo/moq.analyzers#253</a></li>
<li>Bump Polyfill from 7.2.0 to 7.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/256">rjmurillo/moq.analyzers#256</a></li>
<li>Bump EffectiveCSharp.Analyzers from 0.1.0 to 0.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/250">rjmurillo/moq.analyzers#250</a></li>
<li>Bump Verify.Xunit from 28.1.3 to 28.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/257">rjmurillo/moq.analyzers#257</a></li>
<li>Update global.json to SDK 9 by <a
href="https://github.com/rjmurillo"><code>@​rjmurillo</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/263">rjmurillo/moq.analyzers#263</a></li>
<li>Bump Meziantou.Analyzer from 2.0.177 to 2.0.179 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/262">rjmurillo/moq.analyzers#262</a></li>
<li>Bump ReportGenerator from 5.3.11 to 5.4.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/264">rjmurillo/moq.analyzers#264</a></li>
<li>Bump Verify.Xunit from 28.2.0 to 28.3.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/265">rjmurillo/moq.analyzers#265</a></li>
<li>Remove forced lf in .editorconfig by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/271">rjmurillo/moq.analyzers#271</a></li>
<li>Reduce severity of S3267: Loops should be simplified with
&quot;LINQ&quot; expressions by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/272">rjmurillo/moq.analyzers#272</a></li>
<li>Bump GetPackFromProject to fix race in .NET 9 SDK by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/274">rjmurillo/moq.analyzers#274</a></li>
<li>Bump Polyfill from 7.4.0 to 7.5.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/270">rjmurillo/moq.analyzers#270</a></li>
<li>Move &quot;upload binlogs&quot; CI step earlier in pipeline and run
even if failed by <a
href="https://github.com/MattKotsenas"><code>@​MattKotsenas</code></a>
in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/273">rjmurillo/moq.analyzers#273</a></li>
<li>Bump Verify.Xunit from 28.3.0 to 28.3.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/269">rjmurillo/moq.analyzers#269</a></li>
<li>Bump Microsoft.CodeAnalysis.BannedApiAnalyzers from
3.11.0-beta1.24454.1 to 3.11.0-beta1.24508.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/rjmurillo/moq.analyzers/pull/268">rjmurillo/moq.analyzers#268</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rjmurillo/moq.analyzers/commit/5b00626d0d701d455cb5af19f3bf62d09c40f624"><code>5b00626</code></a>
Update version.json to be 0.3.0 stable</li>
<li><a
href="https://github.com/rjmurillo/moq.analyzers/commit/00c7e900e6c28a14d22df77813159fda5ef28ca7"><code>00c7e90</code></a>
Update version spec</li>
<li><a
href="https://github.com/rjmurillo/moq.analyzers/commit/5f4914b9ed3f81a63fb2bd206cff36447b68266f"><code>5f4914b</code></a>
Add AnalyzerUtilities to NuGet package (<a
href="https://redirect.github.com/rjmurillo/moq.analyzers/issues/326">#326</a>)</li>
<li><a
href="https://github.com/rjmurillo/moq.analyzers/commit/fc3aac22eb37cbcef24a8ef369b011b6e0c60f10"><code>fc3aac2</code></a>
Add new rules since 0.2.0 to front page README.md</li>
<li><a
href="https://github.com/rjmurillo/moq.analyzers/commit/10b3bdfb5573f9891524816d4d6bcb85a68148d4"><code>10b3bdf</code></a>
Fix duplicate header on Moq1410.md</li>
<li><a
href="https://github.com/rjmurillo/moq.analyzers/commit/0544d362e3be1d6c86f9c11eec03e370303c1619"><code>0544d36</code></a>
Update shipping rules for 0.3.0</li>
<li><a
href="https://github.com/rjmurillo/moq.analyzers/commit/d3dfc5d555ab22245a377f6459dd34b51885221b"><code>d3dfc5d</code></a>
Update version.json to proper spec</li>
<li><a
href="https://github.com/rjmurillo/moq.analyzers/commit/e224052245c79486ecb13ab5b69841f2bd80cfb7"><code>e224052</code></a>
Set version to '0.3.0-v0.3.0-alpha'</li>
<li><a
href="https://github.com/rjmurillo/moq.analyzers/commit/93e2f6ccbdd4126aa73a4e02fd02628706c71818"><code>93e2f6c</code></a>
Add new rule to enforce MockBehavior.Strict (Moq1410) (<a
href="https://redirect.github.com/rjmurillo/moq.analyzers/issues/302">#302</a>)</li>
<li><a
href="https://github.com/rjmurillo/moq.analyzers/commit/4cf69db852253d78d1177ef4eb675f001f0c180c"><code>4cf69db</code></a>
Remove false positive for Moq1200 when using parameterized lambda (<a
href="https://redirect.github.com/rjmurillo/moq.analyzers/issues/301">#301</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rjmurillo/moq.analyzers/compare/v0.1.2...v0.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Moq.Analyzers&package-manager=nuget&previous-version=0.1.2&new-version=0.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
…Json in /dotnet (#10312)

Bumps [Azure.Identity](https://github.com/Azure/azure-sdk-for-net),
[Microsoft.Identity.Client](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet)
and [System.Text.Json](https://github.com/dotnet/runtime). These
dependencies needed to be updated together.
Updates `Azure.Identity` from 1.13.1 to 1.13.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Azure/azure-sdk-for-net/releases">Azure.Identity's
releases</a>.</em></p>
<blockquote>
<h2>Azure.Identity_1.13.2</h2>
<h2>1.13.2 (2025-01-14)</h2>
<h3>Bugs Fixed</h3>
<ul>
<li>Fixed an issue where setting
<code>DefaultAzureCredentialOptions.TenantId</code> twice throws an
<code>InvalidOperationException</code> (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47035">#47035</a>)</li>
<li>Fixed an issue where <code>ManagedIdentityCredential</code> does not
honor the <code>CancellationToken</code> passed to <code>GetToken</code>
and <code>GetTokenAsync</code>. (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47156">#47156</a>)</li>
<li>Fixed an issue where some credentials in
<code>DefaultAzureCredential</code> would not fall through to the next
credential in the chain under certain exception conditions.</li>
<li>Fixed a regression in <code>ManagedIdentityCredential</code> when
used in a <code>ChainedTokenCredential</code> where the invalid json
responses do not fall through to the next credential in the chain. (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47470">#47470</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/a5c44c28f534f0eddb371f4bd7c5136d899fbc68"><code>a5c44c2</code></a>
[Storage][DataMovement] More GA API feedback (renames/refactors) (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47796">#47796</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/23c0c85f25667826b85ed03242721b6e818ca2bf"><code>23c0c85</code></a>
Prepare Identity for release with bugfix (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47753">#47753</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/fffdf45ec74c9dd8c87316022a5f57b8fc01c70d"><code>fffdf45</code></a>
datamovement migration guide skeleton (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47818">#47818</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/0bb67b811f9ec017738330e3c86d5b6fee00e55d"><code>0bb67b8</code></a>
Increment package version after release of Azure.Data.Tables (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47831">#47831</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/e1a01635a2c5c5129ede88083709d5d163df48fe"><code>e1a0163</code></a>
Permissions docs (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47793">#47793</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/0d0752b468acc5436d82acbee1cea35027bf5da2"><code>0d0752b</code></a>
[CODEOWNERS] Remove invalid owner (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47820">#47820</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/9de236f397482830bd792d9af2a1d93821b87b79"><code>9de236f</code></a>
[Storage] [DataMovement] [Archboard feedback] Renamed *CheckpointData to
*Che...</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/9d19f278ed2c3a3a52d2312c14e6ab20fada004f"><code>9d19f27</code></a>
Fix typo in CertificatePolicy.KeySize documentation (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47794">#47794</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/8992dc64edcedebcbde48e33f376d8489e4a8d19"><code>8992dc6</code></a>
Generating confidentialledger SDK for API spec version 2024-01-26-pre…
(<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/47340">#47340</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/21554c4a69f46455e1ca6af6373189881dd7fd3b"><code>21554c4</code></a>
Add detection for empty string in the return value of
createdByPrincipalTenan...</li>
<li>Additional commits viewable in <a
href="https://github.com/Azure/azure-sdk-for-net/compare/Azure.Identity_1.13.1...Azure.Identity_1.13.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `Microsoft.Identity.Client` from 4.66.2 to 4.67.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/releases">Microsoft.Identity.Client's
releases</a>.</em></p>
<blockquote>
<h2>4.67.2</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Fixed an issue with Managed Identity source detection where Azure ML
was prioritized incorrectly over Azure App Service, causing token
acquisition failures. See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5077">#5077</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5077">AzureAD/microsoft-authentication-library-for-dotnet#5077</a>)</li>
</ul>
<h2>4.67.1</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Added support for Azure Machine Learning (Azure ML) Managed Identity
(MSI) to address missing functionality for token acquisition in Azure
Machine Learning environments. See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4984">#4984</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4984">AzureAD/microsoft-authentication-library-for-dotnet#4984</a>)</li>
</ul>
<h2>4.67.0</h2>
<h3>New Features</h3>
<ul>
<li>MSAL.NET now supports acquiring token for Client Credentials flow
with a Subject Name Issuer (SNI) certificate over Mutual TLS (mTLS) for
first-party applications. See [Issue <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4986">#4986</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4986">AzureAD/microsoft-authentication-library-for-dotnet#4986</a>)</li>
<li>Bumped NET SDK from net6 to net8, aligning MSAL.NET with the latest
.NET standards and features. See [Feature Request <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5025">#5025</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5025">AzureAD/microsoft-authentication-library-for-dotnet#5025</a>)</li>
<li>Public API analyzer integrated to enhance API compliance and
stability. See [Feature Request <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4931">#4931</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4931">AzureAD/microsoft-authentication-library-for-dotnet#4931</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Improved AcquireTokenSilent logging and handling of Family of Client
IDs (FOCI). See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4988">#4988</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4988">AzureAD/microsoft-authentication-library-for-dotnet#4988</a>)</li>
<li>Fixed issues where DurationTotalInMs in
<code>AuthenticationResultMetadata</code> differed from Stopwatch
measurements. See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4895">#4895</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4895">AzureAD/microsoft-authentication-library-for-dotnet#4895</a>)</li>
<li>Resolved incorrect computation of OTel durations in L1 cache and
during the creation of POP tokens. See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5036">#5036</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5036">AzureAD/microsoft-authentication-library-for-dotnet#5036</a>)</li>
<li>Addressed an issue where
<code>AbstractAcquireTokenParameterBuilder&lt;T&gt;.WithAdfsAuthority</code>
threw exceptions when the tenant ID was null and the authority host URI
ended in /adfs. See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4860">#4860</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4860">AzureAD/microsoft-authentication-library-for-dotnet#4860</a>)</li>
<li>Fixed a parsing issue in Managed Identity to align with
Azure.Identity's behavior for handling invalid JSON responses. See [Bug
<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5016">#5016</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5016">AzureAD/microsoft-authentication-library-for-dotnet#5016</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>Removed MSAL v3 migration aids. See [Remove <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4987">#4987</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4987">AzureAD/microsoft-authentication-library-for-dotnet#4987</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/blob/main/CHANGELOG.md">Microsoft.Identity.Client's
changelog</a>.</em></p>
<blockquote>
<h1>4.67.2</h1>
<h3>Bug Fixes</h3>
<ul>
<li>Fixed an issue with Managed Identity source detection where Azure ML
was prioritized incorrectly over Azure App Service, causing token
acquisition failures. See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5077">#5077</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5077">AzureAD/microsoft-authentication-library-for-dotnet#5077</a>)</li>
</ul>
<h1>4.67.1</h1>
<h3>Bug Fixes</h3>
<ul>
<li>Added support for Azure Machine Learning (Azure ML) Managed Identity
(MSI) to address missing functionality for token acquisition in Azure
Machine Learning environments. See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4984">#4984</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4984">AzureAD/microsoft-authentication-library-for-dotnet#4984</a>)</li>
</ul>
<h1>4.67.0</h1>
<h3>New Features</h3>
<ul>
<li>MSAL.NET now supports acquiring token for Client Credentials flow
with a Subject Name Issuer (SNI) certificate over Mutual TLS (mTLS) for
first-party applications. See [Issue <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4986">#4986</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4986">AzureAD/microsoft-authentication-library-for-dotnet#4986</a>)</li>
<li>Bumped NET SDK from net6 to net8, aligning MSAL.NET with the latest
.NET standards and features. See [Feature Request <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5025">#5025</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5025">AzureAD/microsoft-authentication-library-for-dotnet#5025</a>)</li>
<li>Public API analyzer integrated to enhance API compliance and
stability. See [Feature Request <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4931">#4931</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4931">AzureAD/microsoft-authentication-library-for-dotnet#4931</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Improved AcquireTokenSilent logging and handling of Family of Client
IDs (FOCI). See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4988">#4988</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4988">AzureAD/microsoft-authentication-library-for-dotnet#4988</a>)</li>
<li>Fixed issues where DurationTotalInMs in
<code>AuthenticationResultMetadata</code> differed from Stopwatch
measurements. See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4895">#4895</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4895">AzureAD/microsoft-authentication-library-for-dotnet#4895</a>)</li>
<li>Resolved incorrect computation of OTel durations in L1 cache and
during the creation of POP tokens. See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5036">#5036</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5036">AzureAD/microsoft-authentication-library-for-dotnet#5036</a>)</li>
<li>Addressed an issue where
<code>AbstractAcquireTokenParameterBuilder&lt;T&gt;.WithAdfsAuthority</code>
threw exceptions when the tenant ID was null and the authority host URI
ended in /adfs. See [Bug <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4860">#4860</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4860">AzureAD/microsoft-authentication-library-for-dotnet#4860</a>)</li>
<li>Fixed a parsing issue in Managed Identity to align with
Azure.Identity's behavior for handling invalid JSON responses. See [Bug
<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5016">#5016</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5016">AzureAD/microsoft-authentication-library-for-dotnet#5016</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>Removed MSAL v3 migration aids. See [Remove <a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4987">#4987</a>](<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/4987">AzureAD/microsoft-authentication-library-for-dotnet#4987</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/commit/fd5f0ba40a43c2d30ca26f7be31898b18ccd8cb9"><code>fd5f0ba</code></a>
Update CHANGELOG.md for MSAL 4.67.2 (<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5081">#5081</a>)</li>
<li><a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/commit/e22ca8a2d8b37232f6878782746e76d0f9d9ad50"><code>e22ca8a</code></a>
Reordered the condition for ManagedIdentitySource.MachineLearning to be
check...</li>
<li><a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/commit/b1d19e06c70680a11e6aef21a0e2fa227519a71a"><code>b1d19e0</code></a>
Disable MTLS Pop tests (<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5078">#5078</a>)</li>
<li><a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/commit/dbf2e077eed1804f0771ba3a578541d501e1005c"><code>dbf2e07</code></a>
Disable OB Test Code Coverage (<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5072">#5072</a>)</li>
<li><a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/commit/90e8fc9ca96ce954f34bf9405e8548a170327080"><code>90e8fc9</code></a>
Removed the step to execute <code>InstallAndroid.ps1</code> from the CI
pipeline (<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5066">#5066</a>)</li>
<li><a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/commit/c30e9c6e9c0198506ff74081e6771c6682326885"><code>c30e9c6</code></a>
Updates to Public API (<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5071">#5071</a>)</li>
<li><a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/commit/1e9d3b1ad55240d675e9ab166b753a0325b20841"><code>1e9d3b1</code></a>
Update CHANGELOG.md for MSAL 4.67.1 (<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5070">#5070</a>)</li>
<li><a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/commit/03f4b6dda24a9bc9a1b08677625923b45601928c"><code>03f4b6d</code></a>
Add ML MSI Source (<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5053">#5053</a>)</li>
<li><a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/commit/1dc9597d7e48db8ab2a77f98b7b4f2c1afa24da8"><code>1dc9597</code></a>
Moving constants and methods between the shipped and unshipped API files
acro...</li>
<li><a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/commit/0c2483ca53d8636f9a03f9cda7231cdea4867ddf"><code>0c2483c</code></a>
Update CHANGELOG.md (<a
href="https://redirect.github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5044">#5044</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/compare/4.66.2...4.67.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `System.Text.Json` from 8.0.5 to 6.0.10
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dotnet/runtime/commit/5a400c212afdf8e675c9a1d38442e6d2f19f7b74"><code>5a400c2</code></a>
Update dependencies from <a
href="https://github.com/dotnet/emsdk">https://github.com/dotnet/emsdk</a>
build 20220914.2 (<a
href="https://redirect.github.com/dotnet/runtime/issues/7">#7</a>...</li>
<li><a
href="https://github.com/dotnet/runtime/commit/af642462178b2be02f628f58ee388cb335cf91d8"><code>af64246</code></a>
Add RID for alpine-3.17 + alpine-{x86,s390x} (backports <a
href="https://redirect.github.com/dotnet/runtime/issues/75396">#75396</a>)
(<a
href="https://redirect.github.com/dotnet/runtime/issues/75530">#75530</a>)</li>
<li><a
href="https://github.com/dotnet/runtime/commit/996dec0c5c63825c7dc5a4e9343795ba18f87e6c"><code>996dec0</code></a>
Update dependencies from <a
href="https://github.com/dotnet/arcade">https://github.com/dotnet/arcade</a>
build 20220913.7 (#...</li>
<li><a
href="https://github.com/dotnet/runtime/commit/ed9b14c420ce698117b285ab8c55f8126ff3babd"><code>ed9b14c</code></a>
[release/6.0] Add signing infrastructure for diagnostic binaries (<a
href="https://redirect.github.com/dotnet/runtime/issues/74330">#74330</a>)</li>
<li><a
href="https://github.com/dotnet/runtime/commit/38e60d8f189e339da0086324e2e26c52d464058d"><code>38e60d8</code></a>
Fix build for musl 1.2.3 (backports <a
href="https://redirect.github.com/dotnet/runtime/issues/67772">#67772</a>)
(<a
href="https://redirect.github.com/dotnet/runtime/issues/75529">#75529</a>)</li>
<li><a
href="https://github.com/dotnet/runtime/commit/ed73907f776a9395d670a31fa24af885edfb72d8"><code>ed73907</code></a>
Pass resource items for VS generated authoring (<a
href="https://redirect.github.com/dotnet/runtime/issues/75454">#75454</a>)</li>
<li><a
href="https://github.com/dotnet/runtime/commit/388cc787c20ed441dc8ce7836da658c1c66a48b8"><code>388cc78</code></a>
Add armv8l virtualized 32-bit ARM core detection (backports <a
href="https://redirect.github.com/dotnet/runtime/issues/66477">#66477</a>)
(<a
href="https://redirect.github.com/dotnet/runtime/issues/75528">#75528</a>)</li>
<li><a
href="https://github.com/dotnet/runtime/commit/8770e0e317d207b37cfcc90fb5f579878bd03e6a"><code>8770e0e</code></a>
Add CMAKE ASM workaround for newer clang (backport of <a
href="https://redirect.github.com/dotnet/runtime/issues/74696">#74696</a>)
(<a
href="https://redirect.github.com/dotnet/runtime/issues/75526">#75526</a>)</li>
<li><a
href="https://github.com/dotnet/runtime/commit/5247c8f3506d2b6b64f403e4775b4c248739b2da"><code>5247c8f</code></a>
Merge in 'release/6.0' changes</li>
<li><a
href="https://github.com/dotnet/runtime/commit/7e31494b38d0078e51a9a12d4f18f642ed6cbc93"><code>7e31494</code></a>
Add reference assembly for System.Private.CoreLib.dll (<a
href="https://redirect.github.com/dotnet/runtime/issues/75311">#75311</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/dotnet/runtime/compare/v8.0.5...v6.0.10">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…10311)

Bumps
[xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit)
from 3.0.0 to 3.0.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/f8675c32e51818b13f1314569ec35b62246999c3"><code>f8675c3</code></a>
v3.0.1</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/b7d67bac0f6616a5ba3594f5d365f0c858424172"><code>b7d67ba</code></a>
Missed passing an argument</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/8cbe1c39a625685c65f2f4bf50b406c3ee60bbf3"><code>8cbe1c3</code></a>
Restore VisualStudioSourceInformationProvider for <a
href="https://redirect.github.com/xunit/visualstudio.xunit/issues/433">#433</a></li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/d71328f59375d09e5e5ced6e82909146793250a1"><code>d71328f</code></a>
Updated xunit.runner.json schema URL</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/a320aa3caf4f854fbc300a9a7cac2bf2a7d02a97"><code>a320aa3</code></a>
Latest dependencies (to fix <a
href="https://redirect.github.com/xunit/visualstudio.xunit/issues/432">#432</a>)</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/5382a589cd50dee962e3690330dea96808c761f9"><code>5382a58</code></a>
Move SpyLoggerHelper into the global namespace</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/8f3a5861cf95b76519998d9f9703ff4ade59f092"><code>8f3a586</code></a>
<a
href="https://redirect.github.com/xunit/visualstudio.xunit/issues/431">#431</a>:
ValueTask defined in xunit.runner.visualstudio causing conflict</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/0a250fc23147fe9f64d6b4dc61a46685429ee1bf"><code>0a250fc</code></a>
Bump up to 3.0.1-pre</li>
<li>See full diff in <a
href="https://github.com/xunit/visualstudio.xunit/compare/3.0.0...3.0.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=xunit.runner.visualstudio&package-manager=nuget&previous-version=3.0.0&new-version=3.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Models from [DeepSeek](https://www.deepseek.com/) are rising fast as one
of the most capable and cost-effective open-source models. The community
will be eager to test these models out.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
It's not hard to use these new models as they are compatible with the
OpenAI API. This PR simply adds an option where people can test out the
DeepSeek models in the chat concept samples.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
…lding (#10222)

### Motivation and Context

Initial change need for Cloud Event support, in particular the
publishing events scenario.

- Initial changes need in abstractions layer
- min changes for Dapr Runtime
- min changes for Local Runtime
- UTs in Local and Dapr Runtime to ensure parity

Coming up changes in separate PRs:
- New abstractions to be used when creating sk ProcessBuilder
- Additional internal plumbing needed
- Samples/Demos with usage

Fixes #9721 

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
)

Bumps [DuckDB.NET.Data.Full](https://github.com/Giorgi/DuckDB.NET) from
1.1.2.1 to 1.1.3.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/Giorgi/DuckDB.NET/commits/1.1.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DuckDB.NET.Data.Full&package-manager=nuget&previous-version=1.1.2.1&new-version=1.1.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…0268)

### Motivation and Context

**Why is this change required?**  
This change introduces a new `CachedContent` field to the
`GeminiPromptExecutionSettings` class. The addition enables context
caching, a feature that optimizes the handling of repeated static
content in requests with high input token counts.

**What problem does it solve?**  
Repeatedly processing substantial, static context data (e.g., lengthy
documents, audio files, or video files) in requests can be
resource-intensive and costly. Context caching addresses this by
allowing the reuse of shared context across multiple requests, improving
performance and cost-efficiency.

**What scenario does it contribute to?**  
Context caching is particularly well-suited for scenarios where a
substantial initial context is repeatedly referenced by shorter
requests. Use cases include:
- **Chatbots with extensive system instructions**: Allows reuse of
complex system configurations across multiple user interactions.
- **Repetitive analysis of lengthy video files**: Enables efficient
analysis by caching video-related metadata or transcriptions.
- **Recurring queries against large document sets**: Improves efficiency
for workflows requiring repeated access to large document collections.
- **Frequent code repository analysis or bug fixing**: Facilitates the
reuse of large codebases as cached context for debugging or analysis
tasks.

*No open issues are linked to this change.*

---

### Description

This PR adds a `CachedContent` field to the
`GeminiPromptExecutionSettings` class. The field allows users to
reference cached context items such as text blocks, audio files, or
video files in prompt requests.

**Key features:**  
- The minimum size of a context cache is 32,768 tokens.  
- Cached content is retained for a default duration of 60 minutes, with
the option to configure expiration.
- Cached content is billed efficiently: the initial creation call is
charged at the standard rate, while subsequent references to the cache
are billed at a reduced rate.

By enabling context caching, users can optimize cost and resource usage
for workflows requiring substantial and repeat context data.

---

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---

### Demo

<img width="1465" alt="Screenshot 2025-01-23 at 11 46 17 PM"
src="https://github.com/user-attachments/assets/9d070c69-a482-4a40-a912-2b17ddf4c7ab"
/>
<img width="841" alt="Screenshot 2025-01-23 at 11 50 29 PM"
src="https://github.com/user-attachments/assets/aac961ec-edf8-4458-a815-57e46f2a5789"
/>


---

### Notes

1. The CachedContent is only available via `v1beta1` endpoint
2. [Overview of context caching in
Gemini](https://cloud.google.com/vertex-ai/generative-ai/docs/context-cache/context-cache-overview?hl=en)
3. [cachedContent field in the
body](https://cloud.google.com/vertex-ai/generative-ai/docs/reference/rest/v1beta1/projects.locations.endpoints/generateContent)
for the `v1beta1` endpoint

---------

Co-authored-by: Roger Barreto <19890735+RogerBarreto@users.noreply.github.com>
…nstead of single value (#10304)

### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
See [Issue
#10278](#10278
)

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
**`ChatPromptParser.cs` :**
Remove method `IsValidChildNodes` and its call in `IsValidChatMessage` :
A chat message is valid as long as it has a role attribute. Messages
with no text child or multiple text children are now valid


**`ChatPromptParserTests` :** 
- Changed 3rd invalid example since the former one is now valid
- Added tests for : Message with multiple text nodes, mixed XML content
and empty XML node
Remark : The expected behavior for mixed XML content is unclear so I
kept it as it was : the content of the message node ends up in a
`TextContent` if and only if the message has no valid text or image
child node.
So for instance, if the prompt has a message that is a mixed XML with
content and a child `image` node, the content would be ignored and the
`ChatMessageContent` object will have only an `ImageContent` item

**Other remark :** 
`ChatMessageContent.Content` property only returns/sets the first
`TextContent` item.
I thought about changing it to : 
- get : return a concatenation of the `TextContent` items separated by
`\n`
- set : set the first `TextContent` element (or add one if there is
none) and remove other `TextContent` items

But its current behavior seems intended (it is even included in some
unit tests) and I felt like such a change would have too much impact
across the code. So I left it as it is. But I think that such a change
could be beneficial.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible : 
I have the same test fails with the unmodified `main` branch. For
instance the test `GettingStarted/Step1_Create_Kernel` fails with
`ConfigurationNotFoundException : Configuration section 'OpenAI' not
found`. I think there are some missing config files
- [x] I didn't break anyone 😄

---------

Co-authored-by: Thomas DUQUENNOY <Thomas.DUQUENNOY@sinequa.com>
Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
…ndling FRC result so it can be hashed. (#10316)

### Motivation and Context

Two topics in this PR:
- A request to be able to pass in Enums to the Python process
`on_function_result`, instead of just strings.
- There were some custom types (Pydantic models) that were unable to
hash during an agent group chat. One could mark the model `frozen` so
that it is hashable; however, we should add better handling in our code,
in case a dev doesn't want to do that.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

This PR:
- checks if the function name in `on_function_result` in our process
framework is an enum, if so, convert to a string.
- improves the parsing of the `result` in `FunctionResultContent` so
that it can be included in the hash function during an agent group chat.
Adding tests to handle multiple different scenarios.
- Closes #10299 
- Closes #10305

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
When passing the same object to `agent.reduce_history` as is present in
the `history_reducer` attribute of the agent that the function doesn't
accurately behave. This fixes that.

Also updates the sample to be a bit more concise.

Also fixes the way the single_dispatch is setup in ChatHistory.

Also ensures system/developer messages are not reduced away as that
might impact performance.

The `reduce_history` method was removed from the agent base class, in
favor of having the caller manage the change history and reduction as
needed. The `reduce_history` was added to the agent group chat, as the
chat history is managed internally as agents are invoked.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
### Motivation and Context

We have some content types that can't be hashed as-is. This PR makes
sure that if there are unhashable types, that we turn them into hashable
types. Add unit tests to exercise the scenarios.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
### Motivation and Context

Bump Python version to 1.20.0 for a release.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

Bump Python version to 1.20.0 for a release.

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Related: #10174

This PR updates logging messages in Agent Framework to include agent
name. `UnnamedAgent` is used as a default value when the agent's name is
not specified to provide meaningful context in logs.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Removed unused `System.Memory.Data` dependency from the solution.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
### Motivation and Context

Following up on #8951, this PR adds an implementation of
`VectorSearchBase` to `PostgresCollection`. This implementation provides
vectorized search and does not implement text search or vectorizable
text search.

Unit and integration tests are added, and the
`python/samples/getting_started/third_party/postgres-memory.ipynb`
notebook was expanded to include vector search in the example.

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
#10350)

### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Ensure `ChatCompletionAgent` only accepts content types / patterns
allowed by chat-completion service.

### Description
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

The sample
[Concepts/Agents/MixedChat_Images](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Agents/MixedChat_Images.cs)
fails (connector assertion) when passing a message generated by
`OpenAIAssistantAgent` to `ChatCompletionAgent` that contains only
`FileReferenceContent`.

> This sample historically worked, but there may have been an internal
logic update for the connector as part of a maintenance task. I didn't
bother to do the forensics, as the fact that it fails now is sufficient
data to address the bug.

### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
…Add mixed chat image sample. (#10347)

### Motivation and Context

During a group chat, any file reference content created by an assistant
agent, doesn't need to be communicated to a chat completion agent.
Filter these types out and only include other types, like text, if
available.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

This PR:
- Adds a mixed chat image sample to have an assistant agent generate an
image, along with text, and call the chat completion agent successfully
with only the allowed types (like text).
- Adds a unit test to exercise the same behavior.
- Closes #10317

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
### Motivation and Context

See #10340 

### Description

Implement a similar approach as is done in
`process_step_edge_builder.py`, which supports function_name when
building the target function.

### Contribution Checklist

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄

(well, we're still passing/xpass/xfail the same as main is)

---------

Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Related: #10102

This PR contains changes to the chat history reducer implementations to
avoid redaction of system messages if they exist in chat history. It's
important to keep system messages in the chat history so the model can
follow initial instructions independently from history redaction.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
The `preview` suffix is removed from the OpenAPI package and a few
experimental attributes are removed from the stable API.

Closes: #6531
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
We currently don't have a demo sample that shows how to use the agent
framework with multiple agents end-to-end. End-to-end means starting
from a task, designing the agents, and observing the agents.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
This PR adds a demo app that shows how to use the agent framework with
multiple agents to generate technical documents for Semantic Kernel.
This automation will greatly improve our productivity in creating more
contents.

This sample contains 3 agents, multiple plugins, and the necessary steps
to make the agents observable.

![image](https://github.com/user-attachments/assets/27fc0548-e052-481d-b9ad-845add5ec121)


> Note that this PR can be a starting point for discussion on how we can
further improve the agent framework.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Address #10284

Integration of AWS Bedrock agent to SK Python

### Description
1. Implementation of Bedrock agent in SK (essentially an agent connector
to the Bedrock agent service).
2. A dedicated channel that works with Bedrock agents.
3. Samples on how to use Bedrock agents.

Unit and integration tests will be included in another PR to prevent
this PR from becoming too big.

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

This adds a workflow for when issues or PR's are assigned the labels:
`needs_port_to_dotnet` or `needs_port_to_python`
The workflow then creates a new issues linking to the original PR/Issue
to make it easier to keep track of work across languages.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
eavanvalkenburg and others added 18 commits March 3, 2025 15:14
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context
Add support for creating calendar events on Copilot Plugin Agents

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description
Add support for creating calendar events on Copilot Plugin Agents

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Though the current Bedrock agent implementation uses a "thin wrap"
approach, it still has some abstractions that we don't want to maintain.
Just like what we have done for the other agents, we remove those
abstractions.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
1. Update the Bedrock agent abstraction to be thinner.
2. Update samples and tests.

Note: The .Net implementation doesn't need to be updated as it was
already using a thinner wrap.
Note: This breaks the current usage pattern for Bedrock agents in
Python.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Closing: #9910

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
1. Add detailed instructions on how to setup one's environment to use
Bedrock services, including models and agents.
2. Re-enable bedrock integration tests.
3. Some other cleanups.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Improve the serialization sample
Added a more complex sample for using ChatHistory with a VectorStore to
store in a backend.

Also improves the typing of the vectorstoremodel decorator

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
)

### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Implements the OpenAI Realtime API with Semantic Kernel

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

Adds a RealtimeClientBase
Adds RealtimeEvents
Adds OpenAI and Azure Realtime clients

Closes: #10108

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
- Applied updates to existing samples closer to the new guidelines
- Removed `LocalModel` failing samples and relocated to `ChatCompletion`
specific to `LMStudio` and `Ollama`.
- Updated description and ensured all samples are working with latest
versions.
### Motivation and Context
In order to be able to build the dotnet code with version 9 SDK, there
were some problems with the following file


`/workspaces/semantic-kernel/dotnet/src/InternalUtilities/src/Diagnostics/ActivityExtensions.cs`.
This had a BOM encoding problem which was causing `dotnet format` to
fail. As seen in this Issue
[https://github.com/dotnet/sdk/issues/46780](https://github.com/dotnet/sdk/issues/46780).

I fixed the encoding and formatting issues ready for version 9. Most of
the formatting issues are around removing the access modifiers on
interface members

This relates to #10715
### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
…#10773)

Bumps
[google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform)
from 1.80.0 to 1.82.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/python-aiplatform/releases">google-cloud-aiplatform's
releases</a>.</em></p>
<blockquote>
<h2>v1.82.0</h2>
<h2><a
href="https://github.com/googleapis/python-aiplatform/compare/v1.81.0...v1.82.0">1.82.0</a>
(2025-02-26)</h2>
<h3>Features</h3>
<ul>
<li>Add Model Garden deploy API (<a
href="https://github.com/googleapis/python-aiplatform/commit/e356f5abd2942ddaad299cf9f31a6177e9c6e7e0">e356f5a</a>)</li>
<li>Add the initial version of the AG2 agent prebuilt template. (<a
href="https://github.com/googleapis/python-aiplatform/commit/abf08da023a2e9deaccab3f1c6fe3c2328cc44f7">abf08da</a>)</li>
<li>Implement preview deployment with RolloutOptions. (<a
href="https://github.com/googleapis/python-aiplatform/commit/8cefabbcbbd835cfe0c9aebe556eccab0fb0f3b4">8cefabb</a>)</li>
<li>Vertex AI Agent Engine GA SDK (<a
href="https://github.com/googleapis/python-aiplatform/commit/632730c36c935aa61d75e1f3b70131a26dce6b23">632730c</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Avoid hard-coding the LinearRegression class name in tests (<a
href="https://github.com/googleapis/python-aiplatform/commit/7121770b4a490e37921d62aa73a3c7a1dbee3c4b">7121770</a>)</li>
<li>Clean up unused EmbeddingModelConfig. (<a
href="https://github.com/googleapis/python-aiplatform/commit/4998c1a71ab4fa21e4fecac3ac8c8ac08ba5d07a">4998c1a</a>)</li>
<li>Fix rag_embedding_model_config logic indentation (<a
href="https://github.com/googleapis/python-aiplatform/commit/63736ef08a631c1f59d5fc3aeeffa8324000c89e">63736ef</a>)</li>
<li>PrivateEndpoint predict method should set parameters in request
payload. (<a
href="https://github.com/googleapis/python-aiplatform/commit/c7526a1d44b5ec54ef231ae1c495bdb053f05c22">c7526a1</a>)</li>
</ul>
<h2>v1.81.0</h2>
<h2><a
href="https://github.com/googleapis/python-aiplatform/compare/v1.80.0...v1.81.0">1.81.0</a>
(2025-02-18)</h2>
<h3>Features</h3>
<ul>
<li>A new field <code>create_time</code> is added to message
<code>.google.cloud.aiplatform.v1.GenerateContentResponse</code> (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A new field <code>create_time</code> is added to message
<code>.google.cloud.aiplatform.v1.GenerateContentResponse</code> (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A new field <code>response_id</code> is added to message
<code>.google.cloud.aiplatform.v1.GenerateContentResponse</code> (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A new field <code>response_id</code> is added to message
<code>.google.cloud.aiplatform.v1.GenerateContentResponse</code> (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A new field <code>unversioned_package_disabled</code> is added to
message <code>.google.api.PythonSettings</code> (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add additional Probe options to v1 model.proto (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add Notebooks Runtime Software Configuration (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add Notebooks Runtime Software Configuration (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add REST Interceptors which support reading metadata (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add REST Interceptors which support reading metadata (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add RolloutOptions to DeployedModel in v1beta1 endpoint.proto, add
additional Probe options in v1beta1 model.proto (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add support for reading selective GAPIC generation methods from
service YAML (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add support for reading selective GAPIC generation methods from
service YAML (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>EvaluateDataset API v1beta1 initial release (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>EvaluateDataset API v1beta1 initial release (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Use default file name if one isn't provided when uploading
evaluation results to GCS. (<a
href="https://github.com/googleapis/python-aiplatform/commit/d86d87a87ed6b22f39b95f7b09365570905f017a">d86d87a</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> Require grpc-google-iam-v1&gt;=0.14.0 (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Prediction stream raw predict url for non dedicated endpoint (<a
href="https://github.com/googleapis/python-aiplatform/commit/b91a8aa95e89f93150522672b5ee367c8f3211ac">b91a8aa</a>)</li>
</ul>
<h3>Documentation</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/python-aiplatform/blob/main/CHANGELOG.md">google-cloud-aiplatform's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/python-aiplatform/compare/v1.81.0...v1.82.0">1.82.0</a>
(2025-02-26)</h2>
<h3>Features</h3>
<ul>
<li>Add Model Garden deploy API (<a
href="https://github.com/googleapis/python-aiplatform/commit/e356f5abd2942ddaad299cf9f31a6177e9c6e7e0">e356f5a</a>)</li>
<li>Add the initial version of the AG2 agent prebuilt template. (<a
href="https://github.com/googleapis/python-aiplatform/commit/abf08da023a2e9deaccab3f1c6fe3c2328cc44f7">abf08da</a>)</li>
<li>Implement preview deployment with RolloutOptions. (<a
href="https://github.com/googleapis/python-aiplatform/commit/8cefabbcbbd835cfe0c9aebe556eccab0fb0f3b4">8cefabb</a>)</li>
<li>Vertex AI Agent Engine GA SDK (<a
href="https://github.com/googleapis/python-aiplatform/commit/632730c36c935aa61d75e1f3b70131a26dce6b23">632730c</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Avoid hard-coding the LinearRegression class name in tests (<a
href="https://github.com/googleapis/python-aiplatform/commit/7121770b4a490e37921d62aa73a3c7a1dbee3c4b">7121770</a>)</li>
<li>Clean up unused EmbeddingModelConfig. (<a
href="https://github.com/googleapis/python-aiplatform/commit/4998c1a71ab4fa21e4fecac3ac8c8ac08ba5d07a">4998c1a</a>)</li>
<li>Fix rag_embedding_model_config logic indentation (<a
href="https://github.com/googleapis/python-aiplatform/commit/63736ef08a631c1f59d5fc3aeeffa8324000c89e">63736ef</a>)</li>
<li>PrivateEndpoint predict method should set parameters in request
payload. (<a
href="https://github.com/googleapis/python-aiplatform/commit/c7526a1d44b5ec54ef231ae1c495bdb053f05c22">c7526a1</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/python-aiplatform/compare/v1.80.0...v1.81.0">1.81.0</a>
(2025-02-18)</h2>
<h3>Features</h3>
<ul>
<li>A new field <code>create_time</code> is added to message
<code>.google.cloud.aiplatform.v1.GenerateContentResponse</code> (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A new field <code>response_id</code> is added to message
<code>.google.cloud.aiplatform.v1.GenerateContentResponse</code> (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A new field <code>unversioned_package_disabled</code> is added to
message <code>.google.api.PythonSettings</code> (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add additional Probe options to v1 model.proto (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add Notebooks Runtime Software Configuration (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add REST Interceptors which support reading metadata (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add RolloutOptions to DeployedModel in v1beta1 endpoint.proto, add
additional Probe options in v1beta1 model.proto (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Add support for reading selective GAPIC generation methods from
service YAML (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>EvaluateDataset API v1beta1 initial release (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Use default file name if one isn't provided when uploading
evaluation results to GCS. (<a
href="https://github.com/googleapis/python-aiplatform/commit/d86d87a87ed6b22f39b95f7b09365570905f017a">d86d87a</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> Require grpc-google-iam-v1&gt;=0.14.0 (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>Prediction stream raw predict url for non dedicated endpoint (<a
href="https://github.com/googleapis/python-aiplatform/commit/b91a8aa95e89f93150522672b5ee367c8f3211ac">b91a8aa</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>A comment for field <code>content</code> in message
<code>.google.api.Page</code> is changed (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A comment for field <code>filter</code> in message
<code>.google.cloud.aiplatform.v1.ListNotebookRuntimesRequest</code> is
changed (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A comment for field <code>filter</code> in message
<code>.google.cloud.aiplatform.v1.ListNotebookRuntimeTemplatesRequest</code>
is changed (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A comment for field <code>filter</code> in message
<code>.google.cloud.aiplatform.v1beta1.ListNotebookRuntimesRequest</code>
is changed (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A comment for field <code>filter</code> in message
<code>.google.cloud.aiplatform.v1beta1.ListNotebookRuntimeTemplatesRequest</code>
is changed (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
<li>A comment for message <code>RoutingRule</code> is changed (<a
href="https://github.com/googleapis/python-aiplatform/commit/b176d13092bba744417a43d944f3c7639f73d5f6">b176d13</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/4e332de345ef3cc4d5f99f11d6499a3334e3345f"><code>4e332de</code></a>
chore(main): release 1.82.0 (<a
href="https://redirect.github.com/googleapis/python-aiplatform/issues/4969">#4969</a>)</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/66ae92dd9a5ae8dc852f53feebddf8f16b038f9a"><code>66ae92d</code></a>
chore: Make runnable_name required.</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/632730c36c935aa61d75e1f3b70131a26dce6b23"><code>632730c</code></a>
feat: Vertex AI Agent Engine GA SDK</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/abf08da023a2e9deaccab3f1c6fe3c2328cc44f7"><code>abf08da</code></a>
feat: Add the initial version of the AG2 agent prebuilt template.</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/4998c1a71ab4fa21e4fecac3ac8c8ac08ba5d07a"><code>4998c1a</code></a>
fix: Clean up unused EmbeddingModelConfig.</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/f218d1c69b8aad4b57302ad2c2413f0e20b1359b"><code>f218d1c</code></a>
chore: fix internal test infra</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/e356f5abd2942ddaad299cf9f31a6177e9c6e7e0"><code>e356f5a</code></a>
Copybara import of the project:</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/8cefabbcbbd835cfe0c9aebe556eccab0fb0f3b4"><code>8cefabb</code></a>
feat: Implement preview deployment with RolloutOptions.</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/a6225a0c4073b555db9012266ecdb0de141d9ac0"><code>a6225a0</code></a>
chore: Update vertexai package README</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/63736ef08a631c1f59d5fc3aeeffa8324000c89e"><code>63736ef</code></a>
fix: Fix rag_embedding_model_config logic indentation</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/python-aiplatform/compare/v1.80.0...v1.82.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google-cloud-aiplatform&package-manager=pip&previous-version=1.80.0&new-version=1.82.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…10779)

### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Description

Renames hybrid search to agreed naming
Switch validation to expect a single vector property if one is not
named.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
@markwallace-microsoft markwallace-microsoft added .NET Issue or Pull requests regarding .NET code python Pull requests for the Python Semantic Kernel kernel Issues or pull requests impacting the core kernel kernel.core documentation memory labels Mar 5, 2025
@github-actions github-actions bot changed the title Feature keyword hybrid search .Net: Feature keyword hybrid search Mar 5, 2025
@github-actions github-actions bot changed the title .Net: Feature keyword hybrid search Python: Feature keyword hybrid search Mar 5, 2025
moonbox3 and others added 2 commits March 5, 2025 16:08
### Motivation and Context

There is a bug in the current Dapr runtime code that prohibits trying to
get the Dapr process context out from a process once it's finished. This
is related to incorrect handling of serializing/deserializing the Dapr
process context. Additionally, in a state that handles
`KernelProcessStepState`, due to Dapr serialization constraints, the
step step injected to a step is not the actual object. We use Pydantic's
`model_validate` to get the actual step object, but and we need to make
sure we re-assign that object back to the underlying step state so the
objects don't diverge (`model_validate` creates a new object).

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

Improve the handling for the Dapr process context so we're properly
serializing data through the Dapr process.
- Fixes the issue brought up in the discussion: #10234

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
@westey-m westey-m closed this Mar 5, 2025
@crickman crickman deleted the feature-keyword-hybrid-search branch June 3, 2025 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation kernel.core kernel Issues or pull requests impacting the core kernel memory .NET Issue or Pull requests regarding .NET code python Pull requests for the Python Semantic Kernel
Projects
None yet
Development

Successfully merging this pull request may close these issues.