### Class

# Foundry LlmConversation

#### Description [src]

    abstract class Foundry.LlmConversation : GObject.Object
    {
      /* No available fields */
    }

Abstract base class for managing conversations with large language models.

FoundryLlmConversation provides the core interface for interacting with language models including message management, tool integration, and conversation state tracking. Concrete implementations handle specific LLM providers and maintain conversation context for development assistance.

#### Ancestors

- GObject

#### Instance methods

###### foundry_llm_conversation_add_context

Adds context to the conversation.

###### foundry_llm_conversation_call

No description available.

###### foundry_llm_conversation_dup_tools

Lists tools made available to the conversation.

###### foundry_llm_conversation_is_busy

No description available.

###### foundry_llm_conversation_list_history

List the available history of the conversation.

###### foundry_llm_conversation_reset

Reset the conversation to the initial state.

###### foundry_llm_conversation_send_message

The role should generally be something like “system”, “user”, “assistant”, or “tool”.

###### foundry_llm_conversation_send_messages

Send multiple messages together.

###### foundry_llm_conversation_set_tools

Set the tools that are allowed to be used by the model.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Foundry.LlmConversation:is-busy

No description available.

###### Foundry.LlmConversation:tools

No description available.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct FoundryLlmConversationClass {
      GObjectClass parent_class;
      DexFuture* (* add_context) (
        FoundryLlmConversation* self,
        const char* context
      );
      DexFuture* (* send_messages) (
        FoundryLlmConversation* self,
        const char* const* roles,
        const char* const* messages
      );
      void (* reset) (
        FoundryLlmConversation* self
      );
      GListModel* (* list_history) (
        FoundryLlmConversation* self
      );
      DexFuture* (* call) (
        FoundryLlmConversation* self,
        FoundryLlmToolCall* call
      );
      gboolean (* is_busy) (
        FoundryLlmConversation* self
      );

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.

`add_context: DexFuture* (* add_context) ( FoundryLlmConversation* self, const char* context )`

  No description available.

`send_messages: DexFuture* (* send_messages) ( FoundryLlmConversation* self, const char* const* roles, const char* const* messages )`

  No description available.

`reset: void (* reset) ( FoundryLlmConversation* self )`

  No description available.

`list_history: GListModel* (* list_history) ( FoundryLlmConversation* self )`

  No description available.

`call: DexFuture* (* call) ( FoundryLlmConversation* self, FoundryLlmToolCall* call )`

  No description available.

`is_busy: gboolean (* is_busy) ( FoundryLlmConversation* self )`

  No description available.

#### Virtual methods

###### Foundry.LlmConversationClass.add_context

Adds context to the conversation.

###### Foundry.LlmConversationClass.call

No description available.

###### Foundry.LlmConversationClass.is_busy

No description available.

###### Foundry.LlmConversationClass.list_history

List the available history of the conversation.

###### Foundry.LlmConversationClass.reset

Reset the conversation to the initial state.

###### Foundry.LlmConversationClass.send_messages

Send multiple messages together.