Разбить Infrastructure и корень Deal.Api по назначению
Integrations -> Abstractions/Exceptions/Extensions/Models/Options/ Services (включая Storage); Persistence-конфигурации -> Configurations; корень Deal.Api (оркестратор/планировщики/DTO) -> Services/Dtos. namespace приведён к путям, using добавлены/дедуплицированы, FQN обновлены.
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
using Deal.Infrastructure.Integrations.Abstractions;
|
||||
using Deal.Infrastructure.Integrations.Exceptions;
|
||||
using Deal.Infrastructure.Integrations.Extensions;
|
||||
using Deal.Infrastructure.Integrations.Models;
|
||||
using Deal.Infrastructure.Integrations.Services;
|
||||
|
||||
namespace Deal.Infrastructure.Integrations.Options;
|
||||
|
||||
/// <summary>
|
||||
/// Конфигурация клиента AI-сервиса — секция <c>Services:Ai</c> (Ruling 6, план Task 15).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// По умолчанию dev = Local-адаптеры: <c>UseLocal=true</c> регистрирует LocalAiClassifier/LocalAiTools
|
||||
/// (фолбэк этапов 4–5: локальный разбор ядра, фильтр пропускает, ИИ-инструменты не поддерживаются), реальный
|
||||
/// ai-service подключается <c>Services:Ai:UseLocal=false</c> + endpoint (env
|
||||
/// <c>SERVICES__AI__USELOCAL=false</c>, <c>SERVICES__AI__ENDPOINT=http://localhost:5102</c>, compose — Ruling 12).
|
||||
/// Выбор реализации — на старте, логики переключения в рантайме нет (Ruling 6).
|
||||
/// </remarks>
|
||||
public sealed class AiServiceOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Имя секции конфигурации (appsettings.json / env-префикс SERVICES__AI__*).
|
||||
/// </summary>
|
||||
public const string SectionName = "Services:Ai";
|
||||
|
||||
/// <summary>
|
||||
/// Endpoint ai-service по умолчанию (dev-порт сервиса, Ruling 12).
|
||||
/// </summary>
|
||||
public const string DefaultEndpoint = "http://localhost:5102";
|
||||
|
||||
/// <summary>
|
||||
/// True — Local-адаптеры (default), false — gRPC-клиенты GrpcAiClassifier/GrpcAiTools.
|
||||
/// </summary>
|
||||
public bool UseLocal { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// Базовый адрес ai-service (http://host:port; только без TLS — Ruling 2).
|
||||
/// </summary>
|
||||
public string Endpoint { get; set; } = DefaultEndpoint;
|
||||
}
|
||||
Reference in New Issue
Block a user