// Copyright (c) Microsoft. All rights reserved.
using System;
using Microsoft.Shared.Diagnostics;
namespace Microsoft.Agents.AI.FoundryMemory;
///
/// Allows scoping of memories for the .
///
///
/// Azure AI Foundry memories are scoped by a single string identifier that you control.
/// Common patterns include using a user ID, team ID, or other unique identifier
/// to partition memories across different contexts.
///
public sealed class FoundryMemoryProviderScope
{
///
/// Initializes a new instance of the class with the specified scope identifier.
///
/// The scope identifier used to partition memories. Must not be null or whitespace.
/// Thrown when is null or whitespace.
public FoundryMemoryProviderScope(string scope)
{
Throw.IfNullOrWhitespace(scope);
this.Scope = scope;
}
///
/// Gets the scope identifier used to partition memories.
///
///
/// This value controls how memory is partitioned in the memory store.
/// Each unique scope maintains its own isolated collection of memory items.
/// For example, use a user ID to ensure each user has their own individual memory.
///
public string Scope { get; }
}