Creates a new ChatService instance with configured LLM models.
The display service for managing UI focus
The text service for retrieving coordinate text
The MAIDR data structure
Sends a message to the specified LLM model and returns the response.
The LLM provider to use
The request containing the message and configuration
The response from the LLM
Returns the serialized chart data shared with all LLM providers, serializing on first use after a data change and caching thereafter.
Exposed for the LLM model suppliers and tests; the caching strategy is an implementation detail and not part of the stable public API.
The current chart data as a JSON string
Refreshes the chart data shared with the LLM providers after a live data update, so AI answers reflect the data currently on screen. Serialization is deferred until the next LLM request.
The updated MAIDR data structure
Toggles the focus to the chat scope.
Service for managing chat interactions with different LLM providers.