Skip to main content
Version: Next

utcp_client_config

File: core/src/utcp/data/utcp_client_config.py

class UtcpClientConfig​

Documentation

Configuration model for UTCP client setup.

Provides comprehensive configuration options for UTCP clients including variable definitions, provider file locations, and variable loading mechanisms. Supports hierarchical variable resolution with multiple sources.

Variable Resolution Order

  1. Direct variables dictionary
  2. Custom variable loaders (in order)
  3. Environment variables

Attributes

variables (Optional[Dict[str, str]]): A dictionary of directly-defined variables for substitution. load_variables_from (Optional[List[VariableLoader]]): A list of variable loader configurations for loading variables from external sources like .env files or remote services. tool_repository (ConcurrentToolRepository): Configuration for the tool repository, which manages the storage and retrieval of tools. Defaults to an in-memory repository. tool_search_strategy (ToolSearchStrategy): Configuration for the tool search strategy, defining how tools are looked up. Defaults to a tag and description-based search. post_processing (List[ToolPostProcessor]): A list of tool post-processor configurations to be applied after a tool call. manual_call_templates (List[CallTemplate]): A list of manually defined call templates for registering tools that don't have a provider.

Example

    config = UtcpClientConfig(
variables={"MANUAL__NAME_API_KEY_NAME": "$REMAPPED_API_KEY"},
load_variables_from=[
VariableLoaderSerializer().validate_dict({"variable_loader_type": "dotenv", "env_file_path": ".env"})
],
tool_repository={
"tool_repository_type": "in_memory"
},
tool_search_strategy={
"tool_search_strategy_type": "tag_and_description_word_match"
},
post_processing=[],
manual_call_templates=[]
)

Fields:​


class UtcpClientConfigSerializer (Serializer[UtcpClientConfig])​

Documentation

Serializer for UTCP client configurations.

Defines the contract for serializers that convert UTCP client configurations to and from dictionaries for storage or transmission. Serializers are responsible for:

  • Converting UTCP client configurations to dictionaries for storage or transmission
  • Converting dictionaries back to UTCP client configurations
  • Ensuring data consistency during serialization and deserialization

Methods:​

to_dict(self, obj: UtcpClientConfig) -> dict

Convert a UtcpClientConfig object to a dictionary.

Args

  • obj: The UtcpClientConfig object to convert.

Returns

The dictionary converted from the UtcpClientConfig object.

validate_dict(self, data: dict) -> UtcpClientConfig

Validate a dictionary and convert it to a UtcpClientConfig object.

Args

  • data: The dictionary to validate and convert.

Returns

The UtcpClientConfig object converted from the dictionary.