ILlmApiClient.cs 736 B

1234567891011121314151617181920
  1. using System.Collections.Generic;
  2. using System.Threading;
  3. using System.Threading.Tasks;
  4. using UnityEngine;
  5. namespace LLM.Editor.Client
  6. {
  7. /// <summary>
  8. /// Defines a common contract for API clients that can communicate with an LLM.
  9. /// This allows for swapping between different clients, such as a real one (Gemini)
  10. /// and a mock one for testing.
  11. /// </summary>
  12. public interface ILlmApiClient
  13. {
  14. public Task<bool> Initialize();
  15. public Task SendPrompt(string prompt, List<Object> stagedContext, CancellationToken cancellationToken = default);
  16. public Task SendFollowUp(string detailedContext, CancellationToken cancellationToken = default);
  17. public string GetAuthToken();
  18. }
  19. }