// Copyright (c) Microsoft. All rights reserved. using System.Diagnostics; using Microsoft.Shared.Diagnostics; namespace Microsoft.Extensions.AI; /// /// Represents a vector store that is hosted by the AI service. /// /// /// Unlike which contains the data for a file or blob, this class represents a vector store that is hosted /// by the AI service and referenced by an identifier. Such identifiers are specific to the provider. /// [DebuggerDisplay("VectorStoreId = {VectorStoreId}")] public sealed class HostedVectorStoreContent : AIContent { private string? _vectorStoreId; /// /// Initializes a new instance of the class. /// /// The ID of the hosted vector store. /// is . /// is empty or composed entirely of whitespace. public HostedVectorStoreContent(string vectorStoreId) { _vectorStoreId = Throw.IfNullOrWhitespace(vectorStoreId); } /// /// Gets or sets the ID of the hosted vector store. /// /// is . /// is empty or composed entirely of whitespace. public string VectorStoreId { get => _vectorStoreId ?? string.Empty; set => _vectorStoreId = Throw.IfNullOrWhitespace(value); } }