Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@ sidebar_label: utcp_serializer_validation_error

### class UtcpSerializerValidationError {#utcpserializervalidationerror}

*No class documentation available*
<details>
<summary>Documentation</summary>

Exception raised when a serializer validation fails.

Thrown by serializers when they cannot validate or convert data structures
due to invalid format, missing required fields, or type mismatches.
Contains the original validation error details for debugging.


**Usage**

Typically caught when loading configuration files or processing
external data that doesn't conform to UTCP specifications.
</details>

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: filter_dict_post_processor
sidebar_label: filter_dict_post_processor
---

# filter_dict_post_processor

**File:** `core/src/utcp/implementations/post_processors/filter_dict_post_processor.py`

### class FilterDictPostProcessor ([ToolPostProcessor](./../../interfaces/tool_post_processor.md#toolpostprocessor)) {#filterdictpostprocessor}

<details>
<summary>Documentation</summary>

Post-processor that filters dictionary keys from tool results.

Provides flexible filtering capabilities to include or exclude specific keys
from dictionary results, with support for nested dictionaries and lists.
Can be configured to apply filtering only to specific tools or manuals.


**Attributes**

- **`tool_post_processor_type`**: Always "filter_dict" for this processor.
- **`exclude_keys`**: List of keys to remove from dictionary results.
- **`only_include_keys`**: List of keys to keep in dictionary results (all others removed).
- **`exclude_tools`**: List of tool names to skip processing for.
- **`only_include_tools`**: List of tool names to process (all others skipped).
- **`exclude_manuals`**: List of manual names to skip processing for.
- **`only_include_manuals`**: List of manual names to process (all others skipped).
</details>

#### Fields:

- tool_post_processor_type: Literal['filter_dict']
- exclude_keys: Optional[List[str]]
- only_include_keys: Optional[List[str]]
- exclude_tools: Optional[List[str]]
- only_include_tools: Optional[List[str]]
- exclude_manuals: Optional[List[str]]
- only_include_manuals: Optional[List[str]]

---

### class FilterDictPostProcessorConfigSerializer ([Serializer](./../../interfaces/serializer.md#serializer)[FilterDictPostProcessor]) {#filterdictpostprocessorconfigserializer}

*No class documentation available*

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: limit_strings_post_processor
sidebar_label: limit_strings_post_processor
---

# limit_strings_post_processor

**File:** `core/src/utcp/implementations/post_processors/limit_strings_post_processor.py`

### class LimitStringsPostProcessor ([ToolPostProcessor](./../../interfaces/tool_post_processor.md#toolpostprocessor)) {#limitstringspostprocessor}

<details>
<summary>Documentation</summary>

Post-processor that limits the length of string values in tool results.

Truncates string values to a specified maximum length to prevent
excessively large responses. Processes nested dictionaries and lists
recursively. Can be configured to apply limiting only to specific
tools or manuals.


**Attributes**

- **`tool_post_processor_type`**: Always "limit_strings" for this processor.
- **`limit`**: Maximum length for string values (default: 10000 characters).
- **`exclude_tools`**: List of tool names to skip processing for.
- **`only_include_tools`**: List of tool names to process (all others skipped).
- **`exclude_manuals`**: List of manual names to skip processing for.
- **`only_include_manuals`**: List of manual names to process (all others skipped).
</details>

#### Fields:

- tool_post_processor_type: Literal['limit_strings']
- limit: int
- exclude_tools: Optional[List[str]]
- only_include_tools: Optional[List[str]]
- exclude_manuals: Optional[List[str]]
- only_include_manuals: Optional[List[str]]

---

### class LimitStringsPostProcessorConfigSerializer ([Serializer](./../../interfaces/serializer.md#serializer)[LimitStringsPostProcessor]) {#limitstringspostprocessorconfigserializer}

*No class documentation available*

---
33 changes: 32 additions & 1 deletion docs/api/core/utcp/implementations/tag_search.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,38 @@ sidebar_label: tag_search

### class TagAndDescriptionWordMatchStrategy ([ToolSearchStrategy](./../interfaces/tool_search_strategy.md#toolsearchstrategy)) {#taganddescriptionwordmatchstrategy}

*No class documentation available*
<details>
<summary>Documentation</summary>

Tag and description word match strategy.


**Implements A Weighted Scoring System That Matches Tools Based On**

1. Tag matches (higher weight)
2. Description word matches (lower weight)

The strategy normalizes queries to lowercase, extracts words using regex,
and calculates relevance scores for each tool. Results are sorted by
score in descending order.



**Attributes**

- **`tool_search_strategy_type`**: Always "tag_and_description_word_match".
- **`description_weight`**: Weight multiplier for description word matches (default: 1.0).
- **`tag_weight`**: Weight multiplier for tag matches (default: 3.0).



**Scoring Algorithm**

- Each matching tag contributes tag_weight points
- Each matching description word contributes description_weight points
- Tools with higher scores are ranked first
- Tools with zero score are included in results (ranked last)
</details>

#### Fields:

Expand Down
6 changes: 6 additions & 0 deletions docs/api/core/utcp/plugins/plugin_loader.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ sidebar_label: plugin_loader

**File:** `core/src/utcp/plugins/plugin_loader.py`

### Function _load_plugins() {#_load_plugins}

*No function documentation available*

---

### Function ensure_plugins_initialized() {#ensure_plugins_initialized}

*No function documentation available*
Expand Down
18 changes: 14 additions & 4 deletions docs/api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ This specification is organized by module of the reference python implementation

**Note:** The modules don't have to be implemented in the same way as in the reference implementation, but all of the functionality here needs to be provided.

**Total documented items:** 189
**Modules documented:** 39
**Total documented items:** 195
**Modules documented:** 41

## Core Modules

Expand Down Expand Up @@ -93,6 +93,16 @@ Core UTCP framework components that define the fundamental interfaces and implem
- **Contains:** 2 classes, 12 methods


### [utcp.implementations.post_processors.filter_dict_post_processor](./core\utcp\implementations\post_processors\filter_dict_post_processor.md)

- **Contains:** 2 classes


### [utcp.implementations.post_processors.limit_strings_post_processor](./core\utcp\implementations\post_processors\limit_strings_post_processor.md)

- **Contains:** 2 classes


### [utcp.implementations.tag_search](./core\utcp\implementations\tag_search.md)

- **Contains:** 2 classes, 3 methods
Expand Down Expand Up @@ -140,7 +150,7 @@ Core UTCP framework components that define the fundamental interfaces and implem

### [utcp.plugins.plugin_loader](./core\utcp\plugins\plugin_loader.md)

- **Contains:** 1 functions
- **Contains:** 2 functions


### [utcp.utcp_client](./core\utcp\utcp_client.md)
Expand All @@ -154,7 +164,7 @@ Plugin implementations that extend UTCP with specific transport protocols and ca

### [communication_protocols.cli.src.utcp_cli.cli_call_template](./plugins\communication_protocols\cli\src\utcp_cli\cli_call_template.md)

- **Contains:** 2 classes, 2 methods
- **Contains:** 3 classes, 2 methods


### [communication_protocols.cli.src.utcp_cli.cli_communication_protocol](./plugins\communication_protocols\cli\src\utcp_cli\cli_communication_protocol.md)
Expand Down
Loading
Loading