sprints work
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
// <copyright file="AiAttestationServiceExtensions.cs" company="StellaOps">
|
||||
// Copyright (c) StellaOps. Licensed under the AGPL-3.0-or-later.
|
||||
// </copyright>
|
||||
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using StellaOps.AdvisoryAI.Attestation.Storage;
|
||||
|
||||
namespace StellaOps.AdvisoryAI.Attestation;
|
||||
|
||||
/// <summary>
|
||||
/// Extension methods for registering AI attestation services.
|
||||
/// Sprint: SPRINT_20260109_011_001
|
||||
/// </summary>
|
||||
public static class AiAttestationServiceExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Adds AI attestation services to the service collection.
|
||||
/// </summary>
|
||||
/// <param name="services">The service collection.</param>
|
||||
/// <returns>The service collection for chaining.</returns>
|
||||
public static IServiceCollection AddAiAttestationServices(this IServiceCollection services)
|
||||
{
|
||||
services.TryAddSingleton(TimeProvider.System);
|
||||
services.TryAddSingleton<IPromptTemplateRegistry, PromptTemplateRegistry>();
|
||||
services.TryAddSingleton<IAiAttestationService, AiAttestationService>();
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds AI attestation services with a custom time provider.
|
||||
/// </summary>
|
||||
/// <param name="services">The service collection.</param>
|
||||
/// <param name="timeProvider">The time provider to use.</param>
|
||||
/// <returns>The service collection for chaining.</returns>
|
||||
public static IServiceCollection AddAiAttestationServices(
|
||||
this IServiceCollection services,
|
||||
TimeProvider timeProvider)
|
||||
{
|
||||
services.AddSingleton(timeProvider);
|
||||
services.TryAddSingleton<IPromptTemplateRegistry, PromptTemplateRegistry>();
|
||||
services.TryAddSingleton<IAiAttestationService, AiAttestationService>();
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds in-memory attestation storage. Useful for testing and development.
|
||||
/// </summary>
|
||||
/// <param name="services">The service collection.</param>
|
||||
/// <returns>The service collection for chaining.</returns>
|
||||
public static IServiceCollection AddInMemoryAiAttestationStore(this IServiceCollection services)
|
||||
{
|
||||
services.TryAddSingleton<IAiAttestationStore, InMemoryAiAttestationStore>();
|
||||
return services;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user