using UnityEngine;

namespace LLM.Editor.Analysis
{
    /// <summary>
    /// Defines a contract for a "tool" that can provide a specific piece of context
    /// about the Unity project.
    /// </summary>
    public interface IContextProvider
    {
        /// <summary>
        /// Gets a specific piece of context data.
        /// </summary>
        /// <param name="target">The primary Unity Object being queried, if applicable. Can be null.</param>
        /// <param name="qualifier">An optional string to provide more specific instructions.</param>
        /// <returns>The requested data, which will be serialized to JSON.</returns>
        public object GetContext(Object target, string qualifier);
    }
}