-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Removing TrustService from Kernel.Core (to become extension) (#1895)
### Motivation and Context The `TrustService`, along with related types like `TrustAwareString` showcase a really interesting pattern, but we'd like to repackage them into a `SemanticKernal.Extensions.Trust` package with a lot more configurability, rather than baking these into the SK Core. With the upcoming support for pre- and post- completion hooks in a Plan, we believe we can build a better solution that leverages those hooks, but is optional, configurable, and fully replaceable if our solution doesn't meet your needs. Other reasons: - The `TrustAwareString` type is at odds with the transition we're making to allow any objects (not just strings) in SK's context variables, function args, and return types. - Security issues have been raised by architects that indicate that this pattern may give a false sense of security, as the strings in the `TrustAwareString` objects can be manipulated by static casts, and are therefore unreliable. ### Description - Stripping out all `TrustService`, `TrustAwareString`, `IsSensitive` and related references from the SK.Core and Abstractions packages. **These will be added back in the form of a new `SemanticKernel.Extensions.Trust` namespace with optional packages and more features, including an auditable trust chain. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [X] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [X] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 --------- Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
- Loading branch information
1 parent
6b3e46d
commit a6c3cd1
Showing
33 changed files
with
90 additions
and
3,500 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.