package glm import ( "context" ) // GLMService defines the interface for GLM service operations type GLMService interface { // ChatCompletion performs a chat completion request ChatCompletion(ctx context.Context, req *ChatCompletionRequest) (*ChatCompletionResponse, error) // StreamChatCompletion performs a streaming chat completion request StreamChatCompletion(ctx context.Context, req *ChatCompletionRequest, onChunk func(*StreamChatCompletionResponse) error) error // ListModels lists available models ListModels(ctx context.Context) (*ModelsResponse, error) // Health checks if the GLM service is available Health(ctx context.Context) error } // HTTPClient defines the interface for HTTP operations type HTTPClient interface { // Post performs a POST request Post(ctx context.Context, url string, body interface{}, result interface{}) error // Get performs a GET request Get(ctx context.Context, url string, result interface{}) error }