<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Verdict.RuleEngine.DependencyInjection</name>
    </assembly>
    <members>
        <member name="T:Verdict.RuleEngine.DependencyInjection.ConfigurationSecretResolver">
            <summary>
            Default <see cref="T:Verdict.RuleEngine.Connectors.ISecretResolver"/>: resolves <c>secret://name</c> references from configuration. Values are
            looked up under <c>Verdict:Secrets:{name}</c> first, then as a top-level key <c>{name}</c>, so secrets can come
            from user-secrets, environment variables (<c>Verdict__Secrets__name</c>) or any other configuration provider.
            </summary>
        </member>
        <member name="F:Verdict.RuleEngine.DependencyInjection.ConfigurationSecretResolver.SectionName">
            <summary>Configuration section holding the secrets.</summary>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.ConfigurationSecretResolver.#ctor(Microsoft.Extensions.Configuration.IConfiguration)">
            <summary>Initializes the resolver.</summary>
            <param name="configuration">Configuration root or section.</param>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.ConfigurationSecretResolver.ResolveAsync(System.String,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="T:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder">
            <summary>
            Fluent configuration handed to <see cref="M:Verdict.RuleEngine.DependencyInjection.ServiceCollectionExtensions.AddRuleEngine(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder})"/>. Every call is optional;
            the defaults produce a working engine as soon as persistence is configured.
            </summary>
        </member>
        <member name="P:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.Services">
            <summary>The service collection being configured.</summary>
        </member>
        <member name="P:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.Options">
            <summary>Engine options (depth limits, timeouts, four-eyes, persistence toggles, default redaction).</summary>
        </member>
        <member name="P:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.Persistence">
            <summary>Persistence configuration, or <see langword="null"/> when <see cref="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.UsePersistence(System.Action{Verdict.RuleEngine.DependencyInjection.PersistenceOptions})"/> was not called.</summary>
        </member>
        <member name="P:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.DbConnectorsEnabled">
            <summary>Whether <see cref="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.AddDbConnectors"/> was called.</summary>
        </member>
        <member name="P:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.ApiConnectorsEnabled">
            <summary>Whether <see cref="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.AddApiConnectors(System.Action{Verdict.RuleEngine.DependencyInjection.ApiConnectorOptions})"/> was called.</summary>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.UsePersistence(System.Action{Verdict.RuleEngine.DependencyInjection.PersistenceOptions})">
            <summary>Configures EF Core persistence (stores, <see cref="T:Verdict.RuleEngine.EntityFrameworkCore.RuleEngineDbContext"/>, provider).</summary>
            <param name="configure">Provider selection and options.</param>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.AddDbConnectors">
            <summary>Enables the DB connector runtime (parameterized read-only SELECT against SQL Server / PostgreSQL).</summary>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.AddApiConnectors(System.Action{Verdict.RuleEngine.DependencyInjection.ApiConnectorOptions})">
            <summary>Enables the API consumer connector runtime (HttpClientFactory + Polly resilience).</summary>
            <param name="configure">HTTP client customisation applied to every connector client.</param>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.AddFunction(Verdict.RuleEngine.Execution.Expressions.IExpressionFunction)">
            <summary>Registers an additional expression function available to every ruleset.</summary>
            <param name="function">Function.</param>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.UseTimeProvider(System.TimeProvider)">
            <summary>Uses a custom clock (tests, replay). Defaults to <see cref="P:System.TimeProvider.System"/>.</summary>
            <param name="timeProvider">Time provider.</param>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.UseSecretResolver``1">
            <summary>Replaces the secret resolver (default: configuration-based <see cref="T:Verdict.RuleEngine.DependencyInjection.ConfigurationSecretResolver"/>).</summary>
            <typeparam name="TResolver">Resolver type.</typeparam>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.UseSecretResolver(Verdict.RuleEngine.Connectors.ISecretResolver)">
            <summary>Replaces the secret resolver with an instance.</summary>
            <param name="resolver">Resolver.</param>
        </member>
        <member name="T:Verdict.RuleEngine.DependencyInjection.PersistenceOptions">
            <summary>Persistence provider selection for <see cref="M:Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder.UsePersistence(System.Action{Verdict.RuleEngine.DependencyInjection.PersistenceOptions})"/>.</summary>
        </member>
        <member name="F:Verdict.RuleEngine.DependencyInjection.PersistenceOptions.SqlServerProvider">
            <summary>Provider token for SQL Server.</summary>
        </member>
        <member name="F:Verdict.RuleEngine.DependencyInjection.PersistenceOptions.PostgreSqlProvider">
            <summary>Provider token for PostgreSQL.</summary>
        </member>
        <member name="P:Verdict.RuleEngine.DependencyInjection.PersistenceOptions.Provider">
            <summary>Selected provider token (<c>sqlserver</c> or <c>postgres</c>).</summary>
        </member>
        <member name="P:Verdict.RuleEngine.DependencyInjection.PersistenceOptions.AutoMigrate">
            <summary>
            Apply pending migrations automatically the first time the context is created (development convenience).
            Production hosts should run migrations explicitly, e.g. via <see cref="M:Verdict.RuleEngine.DependencyInjection.ServiceCollectionExtensions.MigrateRuleEngineAsync(System.IServiceProvider,System.Threading.CancellationToken)"/>.
            </summary>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.PersistenceOptions.UseSqlServer(System.String,System.Action{Microsoft.EntityFrameworkCore.Infrastructure.SqlServerDbContextOptionsBuilder})">
            <summary>Uses SQL Server.</summary>
            <param name="connectionString">Connection string.</param>
            <param name="configure">Additional provider options.</param>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.PersistenceOptions.UsePostgreSQL(System.String,System.Action{Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure.NpgsqlDbContextOptionsBuilder})">
            <summary>Uses PostgreSQL.</summary>
            <param name="connectionString">Connection string.</param>
            <param name="configure">Additional provider options.</param>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.PersistenceOptions.UseProvider(System.String,System.String)">
            <summary>Selects the provider from a configuration token (<c>sqlserver</c> | <c>postgres</c> / <c>postgresql</c>).</summary>
            <param name="provider">Provider token (case-insensitive).</param>
            <param name="connectionString">Connection string.</param>
            <exception cref="T:System.ArgumentException">Unknown provider.</exception>
        </member>
        <member name="T:Verdict.RuleEngine.DependencyInjection.ApiConnectorOptions">
            <summary>HTTP customisation for API connectors.</summary>
        </member>
        <member name="P:Verdict.RuleEngine.DependencyInjection.ApiConnectorOptions.PrimaryHandler">
            <summary>
            Supplies the primary <see cref="T:System.Net.Http.HttpMessageHandler"/> for a connector client (argument: client name, i.e.
            <see cref="M:Verdict.RuleEngine.Connectors.Api.ApiConnector.ClientName(Verdict.RuleEngine.Connectors.ConnectorRef)"/>). Intended for tests and samples that fake the remote API; production
            hosts normally leave it unset.
            </summary>
        </member>
        <member name="P:Verdict.RuleEngine.DependencyInjection.ApiConnectorOptions.ConfigureClient">
            <summary>Applied to every connector <see cref="T:System.Net.Http.HttpClient"/> after creation (argument: client name, client).</summary>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.ApiConnectorOptions.IsConnectorClient(System.String)">
            <summary>Whether a factory client name belongs to an API connector.</summary>
            <param name="clientName">Client name.</param>
        </member>
        <member name="T:Verdict.RuleEngine.DependencyInjection.ConnectorHttpClientConfigurator">
            <summary>Applies <see cref="T:Verdict.RuleEngine.DependencyInjection.ApiConnectorOptions"/> to the HTTP clients that belong to API connectors.</summary>
        </member>
        <member name="T:Verdict.RuleEngine.DependencyInjection.ServiceCollectionExtensions">
            <summary>Registers the Verdict rule engine in a service collection.</summary>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.ServiceCollectionExtensions.AddRuleEngine(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Verdict.RuleEngine.DependencyInjection.RuleEngineBuilder})">
            <summary>
            Adds the rule engine: <see cref="T:Verdict.RuleEngine.Abstractions.IRuleEngine"/>, executor, evaluator, validator, function registry, connector
            registry, and — when configured — EF Core persistence and the connector runtimes.
            </summary>
            <param name="services">Service collection.</param>
            <param name="configure">Builder callback.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">An engine option is out of range.</exception>
            <remarks>
            Lifetimes: options, clock, function registry, evaluator and validator are singletons; <see cref="T:Verdict.RuleEngine.Abstractions.IRuleEngine"/>,
            the stores, the connector registry and factories are scoped (they share the scope's <see cref="T:Verdict.RuleEngine.EntityFrameworkCore.RuleEngineDbContext"/>).
            </remarks>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.ServiceCollectionExtensions.MigrateRuleEngineAsync(System.IServiceProvider,System.Threading.CancellationToken)">
            <summary>Applies pending rule-engine migrations (creates the database when missing).</summary>
            <param name="serviceProvider">Root or scoped provider.</param>
            <param name="ct">Cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">Persistence was not configured.</exception>
        </member>
        <member name="T:Verdict.RuleEngine.DependencyInjection.RuleEngineDatabaseInitializer">
            <summary>Runs migrations for the configured provider — explicitly, or once on first use when auto-migrate is on.</summary>
        </member>
        <member name="P:Verdict.RuleEngine.DependencyInjection.RuleEngineDatabaseInitializer.Migrated">
            <summary>Whether migrations have been applied through this initializer.</summary>
        </member>
        <member name="M:Verdict.RuleEngine.DependencyInjection.RuleEngineDatabaseInitializer.MigrateAsync(Microsoft.Extensions.Logging.ILoggerFactory,System.Threading.CancellationToken)">
            <summary>Applies pending migrations.</summary>
            <param name="loggerFactory">Optional logging.</param>
            <param name="ct">Cancellation token.</param>
        </member>
    </members>
</doc>
