76 lines
2.5 KiB
C#
Executable File
76 lines
2.5 KiB
C#
Executable File
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace MarketAlly.AIPlugin.Analysis.Infrastructure
|
|
{
|
|
/// <summary>
|
|
/// Configuration settings for analysis operations
|
|
/// </summary>
|
|
public class AnalysisConfiguration
|
|
{
|
|
/// <summary>
|
|
/// Default parameters to apply to all plugins
|
|
/// </summary>
|
|
public Dictionary<string, object> DefaultParameters { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Default timeout for analysis operations
|
|
/// </summary>
|
|
public TimeSpan DefaultTimeout { get; set; } = TimeSpan.FromMinutes(10);
|
|
|
|
/// <summary>
|
|
/// Maximum number of concurrent analyses
|
|
/// </summary>
|
|
public int MaxConcurrentAnalyses { get; set; } = Environment.ProcessorCount;
|
|
|
|
/// <summary>
|
|
/// Enable caching of syntax trees and analysis results
|
|
/// </summary>
|
|
public bool EnableCaching { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// Cache expiration time for syntax trees
|
|
/// </summary>
|
|
public TimeSpan CacheExpiration { get; set; } = TimeSpan.FromMinutes(30);
|
|
|
|
/// <summary>
|
|
/// Cache expiration time for analysis results
|
|
/// </summary>
|
|
public TimeSpan CacheExpirationTime { get; set; } = TimeSpan.FromMinutes(30);
|
|
|
|
/// <summary>
|
|
/// Maximum memory usage before triggering cache cleanup (in MB)
|
|
/// </summary>
|
|
public int MaxCacheMemoryMB { get; set; } = 512;
|
|
|
|
/// <summary>
|
|
/// Enable parallel processing for multi-file analysis
|
|
/// </summary>
|
|
public bool EnableParallelProcessing { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// Enable detailed logging for debugging
|
|
/// </summary>
|
|
public bool EnableDetailedLogging { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// Validate plugin parameters before execution
|
|
/// </summary>
|
|
public bool ValidateParameters { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// Enable security features like path validation
|
|
/// </summary>
|
|
public bool EnableSecurityValidation { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// Allow loading plugins from external assemblies
|
|
/// </summary>
|
|
public bool AllowDynamicPluginLoading { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// Directory containing trusted plugin assemblies
|
|
/// </summary>
|
|
public string TrustedPluginDirectory { get; set; } = string.Empty;
|
|
}
|
|
} |