| | | 1 | | using Microsoft.Extensions.AI; |
| | | 2 | | |
| | | 3 | | namespace NexusLabs.Needlr.AgentFramework; |
| | | 4 | | |
| | | 5 | | /// <summary> |
| | | 6 | | /// Factory-level configuration options passed to |
| | | 7 | | /// <see cref="AgentFrameworkSyringeExtensions.Configure"/> callbacks. |
| | | 8 | | /// </summary> |
| | | 9 | | public sealed class AgentFrameworkConfigureOptions |
| | | 10 | | { |
| | | 11 | | /// <summary> |
| | | 12 | | /// Gets the service provider from the DI container. |
| | | 13 | | /// Use this to resolve configuration or services needed to create the <see cref="IChatClient"/>. |
| | | 14 | | /// </summary> |
| | 54 | 15 | | public required IServiceProvider ServiceProvider { get; init; } |
| | | 16 | | |
| | | 17 | | /// <summary> |
| | | 18 | | /// Gets or sets a factory that creates the <see cref="IChatClient"/> used by all agents |
| | | 19 | | /// built from this factory. When <see langword="null"/>, |
| | | 20 | | /// <see cref="IChatClient"/> is resolved from the DI container. |
| | | 21 | | /// </summary> |
| | 157 | 22 | | public Func<IServiceProvider, IChatClient>? ChatClientFactory { get; set; } |
| | | 23 | | |
| | | 24 | | /// <summary> |
| | | 25 | | /// Gets or sets the default system instructions applied to all agents |
| | | 26 | | /// unless overridden via <see cref="AgentFactoryOptions.Instructions"/>. |
| | | 27 | | /// </summary> |
| | 40 | 28 | | public string? DefaultInstructions { get; set; } |
| | | 29 | | } |