12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using Newtonsoft.Json.Linq;
- using System.Collections.Generic;
- namespace LLM.Editor.Commands
- {
- /// <summary>
- /// Defines the parameters for the GatherContextCommand. It contains a list
- /// of specific data requests the LLM wants to be fulfilled.
- /// </summary>
- [System.Serializable]
- public class GatherContextParams
- {
- public List<ContextRequest> requests = new();
- }
- /// <summary>
- /// Represents a single, specific request for a piece of information about the project.
- /// </summary>
- [System.Serializable]
- public class ContextRequest
- {
- /// <summary>
- /// A key provided by the LLM to uniquely identify this piece of data in the final response dictionary.
- /// e.g., "launcherRigidbody"
- /// </summary>
- public string contextKey;
- /// <summary>
- /// The identifier for the object of interest. This can be an InstanceID, a GUID, an asset path, or a name.
- /// e.g., "18354", "a1b2c3d4e5f6", "Assets/Scripts/Player.cs"
- /// </summary>
- public string subjectIdentifier;
- /// <summary>
- /// The type of data being requested. This determines which Context Provider will be used.
- /// e.g., "ComponentData", "SourceCode", "ProjectSettings"
- /// </summary>
- public string dataType;
- /// <summary>
- /// An optional qualifier to provide more specific instructions to the data provider.
- /// e.g., "UnityEngine.Rigidbody", "Physics", "t:Prefab player"
- /// </summary>
- public JToken qualifier;
- }
- }
|