using System.Collections.Generic;
namespace LLM.Editor.Data
{
///
/// The root object for the structured context manifest sent to the LLM.
/// It contains a list of all assets the user has staged.
///
[System.Serializable]
public class StagedContextManifest
{
public List stagedContext = new();
}
///
/// Represents a single item (GameObject, script, asset) staged by the user.
/// It provides a stable identifier that the LLM can use to ask for more details.
///
[System.Serializable]
public class StagedContextItem
{
///
/// A stable, session-unique identifier for this asset.
/// (e.g., Instance ID for scene objects, GUID for project assets).
///
public string contextId;
///
/// The name of the asset (e.g., "GrenadeLauncher", "Player.cs").
///
public string name;
///
/// The fully qualified type name of the asset (e.g., "UnityEngine.GameObject").
///
public string assetType;
///
/// If the asset is a GameObject, this lists the names of its components.
///
public List components;
}
}