{"path":"NexusReader.Infrastructure/Configuration/AiSettings.cs","purpose":"Defines typed configuration/settings for AI (Google) integration used for options binding and runtime configuration of model, embedding, token limits, retries, and temperature.","classification":{"role":"config","layer":"infrastructure","confidence":0.9,"evidence":["Config/settings pattern","Namespace NexusReader.Infrastructure.Configuration","Contains SectionName constant and simple properties for API key, model names, token limits and retries","Plain POCO used for configuration/options binding"]},"className":"AiSettings","methods":[],"types":[{"name":"AiSettings","kind":"dto","line":3,"purpose":"Holds AI integration configuration values (Google API key, model choices, token limits, retry and sampling settings) for options/config binding.","fields":[{"name":"SectionName","type":"string (const)","required":true,"line":5,"description":"Configuration section key used for binding (\"Ai:Google\")."},{"name":"ApiKey","type":"string","required":false,"line":7,"description":"API key for Google AI services (default empty string)."},{"name":"Model","type":"string","required":false,"line":8,"description":"Primary model identifier to use (default \"gemini-1.5-flash\")."},{"name":"EmbeddingModel","type":"string","required":false,"line":9,"description":"Embedding model identifier (default \"gemini-embedding-001\")."},{"name":"MaxInputTokens","type":"int","required":false,"line":14,"description":"Maximum allowed input tokens (default 15000)."},{"name":"MaxOutputTokens","type":"int","required":false,"line":16,"description":"Maximum allowed output tokens (default 1000)."},{"name":"RetryAttempts","type":"int","required":false,"line":17,"description":"Number of retry attempts for AI calls (default 3)."},{"name":"Temperature","type":"double","required":false,"line":18,"description":"Sampling temperature for model responses (default 0.1)."}]}],"serviceRegistrations":[],"startupActions":[],"dependencies":[],"patterns":["Options Pattern","Configuration DTO"],"domainConcepts":["AI","Model selection","Embedding","Rate/Retry and token limits","Google AI integration"],"keyDetails":"Exposes SectionName = \"Ai:Google\" for config binding; defaults target Gemini family models, embedding model id, high MaxInputTokens (15000), MaxOutputTokens 1000, RetryAttempts 3 and low Temperature 0.1.","orchestrationMethods":[],"typedContracts":[{"name":"AiSettings","kind":"dto","line":3,"fieldCount":8,"evidencePaths":["NexusReader.Infrastructure/Configuration/AiSettings.cs"]}],"persistenceInteractions":[],"externalInteractions":[],"evidenceAnchors":[{"kind":"typed-contract","label":"AiSettings","line":3,"summary":"dto with 8 fields.","confidence":0.8,"evidencePaths":["NexusReader.Infrastructure/Configuration/AiSettings.cs"]}],"cacheMetadata":{"schemaVersion":2,"analysisVersion":"2026-05-23.cache-v1","contentChecksum":"fee410ba79eb7317c5872bd42ebe2d0b255ec91a90ad979d1425dc1dcb00cc74","sourceByteSize":644,"analyzedAt":"2026-05-23T16:20:35.475Z","technology":"dotnet"}}