Refactor CollectionModel/builder and introduce read-only property interfaces by roji · Pull Request #13699 · microsoft/semantic-kernel

dotnet/test/VectorData/VectorData.UnitTests/PropertyModelTests.cs Renames test class to reflect the new interface based surface. dotnet/test/VectorData/SqliteVec.UnitTests/SqlitePropertyMappingTests.cs Updates tests to use IPropertyModel collections. dotnet/test/VectorData/Redis.UnitTests/RedisCollectionCreateMappingTests.cs Updates tests to use IPropertyModel[]. dotnet/test/VectorData/PgVector.UnitTests/PostgresPropertyMappingTests.cs Updates tests to use List<IPropertyModel>. dotnet/src/VectorData/Weaviate/WeaviateQueryBuilder.cs Switches helper signatures to IVectorPropertyModel and IDataPropertyModel. dotnet/src/VectorData/Weaviate/WeaviateMapper.cs Switches vector population helper to IVectorPropertyModel. dotnet/src/VectorData/Weaviate/WeaviateCollection.cs Switches search vector generation signature to IVectorPropertyModel. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/VectorPropertyModel.cs Implements IVectorPropertyModel and clarifies EmbeddingType contract. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/PropertyModel.cs Implements IPropertyModel and moves to delegate based accessors. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/KeyPropertyModel.cs Implements IKeyPropertyModel and adds SerializedKeyName. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/IVectorPropertyModel.cs Adds read only interface for vector property models. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/IRecordCreator.cs Removes the record creator abstraction. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/IPropertyModel.cs Adds read only interface for common property model behavior. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/IKeyPropertyModel.cs Adds read only interface for key property models. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/IDataPropertyModel.cs Adds read only interface for data property models. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/Filter/FilterTranslatorBase.cs Updates binding API to output IPropertyModel. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/DataPropertyModel.cs Implements IDataPropertyModel. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/CollectionModelBuilder.cs Deduplicates embedding configuration and switches to factory delegate creation. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/CollectionModel.cs Exposes interface typed property lists and uses a record factory. dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/CollectionJsonModelBuilder.cs Uses SerializedKeyName for reserved key serializer name remapping. dotnet/src/VectorData/SqliteVec/SqlitePropertyMapping.cs Updates mapping logic to consume interface based property models. dotnet/src/VectorData/SqliteVec/SqliteFilterTranslator.cs Updates filter translator signature to IPropertyModel. dotnet/src/VectorData/SqliteVec/SqliteCommandBuilder.cs Updates command builder to use IVectorPropertyModel dictionary keys and interface lists. dotnet/src/VectorData/SqliteVec/SqliteCollection.cs Updates embedding generation bookkeeping to interface keyed dictionaries. dotnet/src/VectorData/SqlServer/SqlServerMapper.cs Updates mapper helper to take IPropertyModel. dotnet/src/VectorData/SqlServer/SqlServerFilterTranslator.cs Updates translator APIs to take IPropertyModel. dotnet/src/VectorData/SqlServer/SqlServerCommandBuilder.cs Updates command builder signatures and pattern matching to interface models. dotnet/src/VectorData/SqlServer/SqlServerCollection.cs Updates embedding generation bookkeeping to interface keyed dictionaries. dotnet/src/VectorData/Redis/RedisJsonMapper.cs Updates property concatenation to use IPropertyModel. dotnet/src/VectorData/Redis/RedisCollectionSearchMapping.cs Updates query build APIs to use IVectorPropertyModel. dotnet/src/VectorData/Redis/RedisCollectionCreateMapping.cs Updates schema mapping to consume IPropertyModel and derived interfaces. dotnet/src/VectorData/Qdrant/QdrantMapper.cs Updates mapping helpers to use IPropertyModel and IVectorPropertyModel. dotnet/src/VectorData/Qdrant/QdrantCollectionCreateMapping.cs Updates mapping APIs to consume IVectorPropertyModel. dotnet/src/VectorData/Qdrant/QdrantCollection.cs Updates search vector conversion signature to IVectorPropertyModel. dotnet/src/VectorData/Pinecone/PineconeFilterTranslator.cs Updates translation helper to take IPropertyModel. dotnet/src/VectorData/Pinecone/PineconeCollection.cs Updates distance function mapping to consume IVectorPropertyModel. dotnet/src/VectorData/PgVector/PostgresSqlBuilder.cs Updates SQL builder to use interface models and interface keyed embeddings map. dotnet/src/VectorData/PgVector/PostgresPropertyMapping.cs Updates type mapping and index info to consume interface models. dotnet/src/VectorData/PgVector/PostgresPropertyExtensions.cs Updates extensions to target interface models. dotnet/src/VectorData/PgVector/PostgresMapper.cs Updates property population helper to take IPropertyModel. dotnet/src/VectorData/PgVector/PostgresFilterTranslator.cs Updates translator signature to take IPropertyModel. dotnet/src/VectorData/PgVector/PostgresCollection.cs Updates embedding generation bookkeeping and search conversion to interface models. dotnet/src/VectorData/MongoDB/MongoFilterTranslator.cs Updates translation helper to take IPropertyModel. dotnet/src/VectorData/MongoDB/MongoCollectionCreateMapping.cs Updates index mapping APIs to consume interface typed property lists. dotnet/src/VectorData/MongoDB/MongoCollection.cs Updates search vector conversion signature to IVectorPropertyModel. dotnet/src/VectorData/CosmosNoSql/CosmosNoSqlMapper.cs Updates key rename behavior to use SerializedKeyName. dotnet/src/VectorData/CosmosNoSql/CosmosNoSqlFilterTranslator.cs Updates property access generation to take IPropertyModel. dotnet/src/VectorData/CosmosNoSql/CosmosNoSqlDynamicMapper.cs Updates dynamic mapping switch patterns to interface models. dotnet/src/VectorData/CosmosNoSql/CosmosNoSqlCollectionQueryBuilder.cs Updates projection building to filter on IVectorPropertyModel. dotnet/src/VectorData/CosmosNoSql/CosmosNoSqlCollection.cs Updates partition key property storage to IPropertyModel list. dotnet/src/VectorData/CosmosMongoDB/CosmosMongoFilterTranslator.cs Updates translation helper to take IPropertyModel. dotnet/src/VectorData/CosmosMongoDB/CosmosMongoCollectionCreateMapping.cs Updates index mapping APIs to consume interface typed property lists. dotnet/src/VectorData/Common/SqlFilterTranslator.cs Updates base SQL translation column generation and array binding signature to IPropertyModel. dotnet/src/VectorData/AzureAISearch/AzureAISearchDynamicMapper.cs Updates dynamic mapper switch patterns to interface models. dotnet/src/VectorData/AzureAISearch/AzureAISearchCollectionCreateMapping.cs Updates field mapping APIs to consume key, data, and vector interfaces. dotnet/src/VectorData/AzureAISearch/AzureAISearchCollection.cs Updates mapping loops and helpers to use interface models. dotnet/src/InternalUtilities/connectors/Memory/MongoDB/MongoDynamicMapper.cs Updates internal dynamic mapper to switch on interface models.