using Core.Blueprint.Common.DependencyInjection; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using Thalos.Domain.Decisions; using Thalos.DAL.DependencyInjection; using Thalos.Service.Application.Adapters; using Thalos.Service.Application.Oidc; using Thalos.Service.Application.Ports; using Thalos.Service.Application.Secrets; using Thalos.Service.Application.Sessions; using Thalos.Service.Application.UseCases; namespace Thalos.Service.Application.DependencyInjection; /// /// Registers thalos-service runtime orchestration and DAL adapters. /// public static class ThalosServiceRuntimeServiceCollectionExtensions { /// /// Adds thalos-service runtime wiring aligned with blueprint runtime and thalos-dal runtime. /// /// Service collection. /// Service collection for fluent chaining. public static IServiceCollection AddThalosServiceRuntime(this IServiceCollection services) { services.AddBlueprintRuntimeCore(); services.AddThalosDalRuntime(); services.TryAddSingleton(_ => new ConfigurationBuilder().AddInMemoryCollection().Build()); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); return services; } }