mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
* Move Purview integration logic into middleware * Improve error handling and user id management * Rename purview package * Handle 402s more explicitly; add Middleware generation methods; don't ignore exceptions * Use DI container; pass scope id to PC * Add protection scope caching * Wrap more exceptions in PurviewClient * Remove block check dedup; add tests * Refactor PurviewWrapper intialization; Add unit tests * Use different .Use method and add IDisposable stub * Add background job processing for Purview * Misc comment cleanup * Apply copilot comments * Fix formatting * Formatting other files to fix pipeline * Small updates to settings and exceptions * Add README * Move Purview sample * Address review comments and update XML comments * Newline after namespace * Move public Purview classes to single namespace; Clean up csproj and slnx * Commit the renames * Remove unused openAI dependency --------- Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
42 lines
1.5 KiB
C#
42 lines
1.5 KiB
C#
// Copyright (c) Microsoft. All rights reserved.
|
|
|
|
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
using Microsoft.Agents.AI.Purview.Models.Common;
|
|
using Microsoft.Agents.AI.Purview.Models.Requests;
|
|
using Microsoft.Agents.AI.Purview.Models.Responses;
|
|
|
|
namespace Microsoft.Agents.AI.Purview.Serialization;
|
|
|
|
/// <summary>
|
|
/// Source generation context for Purview serialization.
|
|
/// </summary>
|
|
[JsonSerializable(typeof(ProtectionScopesRequest))]
|
|
[JsonSerializable(typeof(ProtectionScopesResponse))]
|
|
[JsonSerializable(typeof(ProcessContentRequest))]
|
|
[JsonSerializable(typeof(ProcessContentResponse))]
|
|
[JsonSerializable(typeof(ContentActivitiesRequest))]
|
|
[JsonSerializable(typeof(ContentActivitiesResponse))]
|
|
[JsonSerializable(typeof(ProtectionScopesCacheKey))]
|
|
internal sealed partial class SourceGenerationContext : JsonSerializerContext;
|
|
|
|
/// <summary>
|
|
/// Utility class for Purview serialization settings.
|
|
/// </summary>
|
|
internal static class PurviewSerializationUtils
|
|
{
|
|
/// <summary>
|
|
/// Serialization settings for Purview.
|
|
/// </summary>
|
|
public static JsonSerializerOptions SerializationSettings { get; } = new JsonSerializerOptions
|
|
{
|
|
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
|
|
PropertyNameCaseInsensitive = true,
|
|
WriteIndented = false,
|
|
AllowTrailingCommas = false,
|
|
DictionaryKeyPolicy = JsonNamingPolicy.CamelCase,
|
|
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
|
|
TypeInfoResolver = SourceGenerationContext.Default,
|
|
};
|
|
}
|