"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
# @generated-id: 981417f45147

from .basesdk import BaseSDK
from .sdkconfiguration import SDKConfiguration
from mistralai.client.beta_agents import BetaAgents
from mistralai.client.connectors import Connectors
from mistralai.client.conversations import Conversations
from mistralai.client.libraries import Libraries
from mistralai.client.observability import Observability
from mistralai.client.rag import Rag
from typing import Optional


class Beta(BaseSDK):
    conversations: Conversations
    r"""(beta) Conversations API"""
    agents: BetaAgents
    r"""(beta) Agents API"""
    libraries: Libraries
    r"""(beta) Libraries API to create and manage libraries - index your documents to enhance agent capabilities."""
    observability: Observability
    connectors: Connectors
    r"""(beta) Connectors API - manage your connectors"""
    rag: Rag

    def __init__(
        self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
    ) -> None:
        BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
        self.sdk_configuration = sdk_config
        self._init_sdks()

    def _init_sdks(self):
        self.conversations = Conversations(
            self.sdk_configuration, parent_ref=self.parent_ref
        )
        self.agents = BetaAgents(self.sdk_configuration, parent_ref=self.parent_ref)
        self.libraries = Libraries(self.sdk_configuration, parent_ref=self.parent_ref)
        self.observability = Observability(
            self.sdk_configuration, parent_ref=self.parent_ref
        )
        self.connectors = Connectors(self.sdk_configuration, parent_ref=self.parent_ref)
        self.rag = Rag(self.sdk_configuration, parent_ref=self.parent_ref)
