GatherContextParams.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System.Collections.Generic;
  2. namespace LLM.Editor.Commands
  3. {
  4. /// <summary>
  5. /// Defines the parameters for the GatherContextCommand. It contains a list
  6. /// of specific data requests the LLM wants to be fulfilled.
  7. /// </summary>
  8. [System.Serializable]
  9. public class GatherContextParams
  10. {
  11. public List<ContextRequest> requests = new List<ContextRequest>();
  12. }
  13. /// <summary>
  14. /// Represents a single, specific request for a piece of information about the project.
  15. /// </summary>
  16. [System.Serializable]
  17. public class ContextRequest
  18. {
  19. /// <summary>
  20. /// A key provided by the LLM to uniquely identify this piece of data in the final response dictionary.
  21. /// e.g., "launcherRigidbody"
  22. /// </summary>
  23. public string contextKey;
  24. /// <summary>
  25. /// The identifier for the object of interest. This can be an InstanceID, a GUID, an asset path, or a name.
  26. /// e.g., "18354", "a1b2c3d4e5f6", "Assets/Scripts/Player.cs"
  27. /// </summary>
  28. public string subjectIdentifier;
  29. /// <summary>
  30. /// The type of data being requested. This determines which Context Provider will be used.
  31. /// e.g., "ComponentData", "SourceCode", "ProjectSettings"
  32. /// </summary>
  33. public string dataType;
  34. /// <summary>
  35. /// An optional qualifier to provide more specific instructions to the data provider.
  36. /// e.g., "UnityEngine.Rigidbody", "Physics", "t:Prefab player"
  37. /// </summary>
  38. public string qualifier;
  39. }
  40. }