Currently, the CompleteAsync method only returns a response string. I would like to request that additional information such as status codes be returned as well.
I suggest that the CompleteAsync method in ITextCompletion should return some type T instead of a string to allow for this. This would enable us to gather more information about the response and make it easier to handle different scenarios.
Furthermore, I would like to propose that the ContextVariables class be updated to use a ConcurrentDictionary<string, object> instead of ConcurrentDictionary<string, string>. This would allow for the storage of variables of different types and make the class more flexible.
Please let me know if these changes are feasible and if there are any concerns or suggestions for improvement. Thank you for your time and consideration.