Validators Module

Validators check side-effects of tool calls (HTTP requests, file creation, database operations).

HTTP Validator

class toolscore.validators.HTTPValidator[source]

Validator for HTTP-related side effects.

Checks if HTTP requests succeeded based on status codes or result information.

__init__()[source]

Initialize HTTP validator.

Return type:

None

validate(call, expected)[source]

Validate HTTP side effect.

Parameters:
  • call (ToolCall) – The tool call to validate.

  • expected (Any) – Expected value (True for any success, or specific status code).

Return type:

bool

Returns:

True if validation passes, False otherwise.

Filesystem Validator

class toolscore.validators.FileSystemValidator(base_path=None, contains=None, min_size=None, max_size=None)[source]

Validator for filesystem-related side effects.

Checks if files or directories exist or have expected properties. Can also validate file content.

Parameters:
  • base_path (str | None)

  • contains (str | list[str] | None)

  • min_size (int | None)

  • max_size (int | None)

__init__(base_path=None, contains=None, min_size=None, max_size=None)[source]

Initialize filesystem validator.

Parameters:
  • base_path (str | None) – Base directory for resolving relative paths.

  • contains (str | list[str] | None) – String or list of strings that file content must contain.

  • min_size (int | None) – Minimum file size in bytes.

  • max_size (int | None) – Maximum file size in bytes.

Return type:

None

validate(call, expected)[source]

Validate filesystem side effect.

Parameters:
  • call (ToolCall) – The tool call to validate.

  • expected (Any) – Expected value (filename/path that should exist).

Return type:

bool

Returns:

True if validation passes, False otherwise.

SQL Validator

class toolscore.validators.SQLValidator(where=None, contains_row=None)[source]

Validator for SQL/database-related side effects.

Checks if database queries returned expected number of rows or results. Can also validate specific data values in results.

Parameters:
__init__(where=None, contains_row=None)[source]

Initialize SQL validator.

Parameters:
  • where (dict[str, Any] | None) – Filter conditions that results must match (e.g., {“status”: “active”}).

  • contains_row (dict[str, Any] | None) – Specific row that must exist in results.

Return type:

None

validate(call, expected)[source]

Validate SQL side effect.

Parameters:
  • call (ToolCall) – The tool call to validate.

  • expected (Any) – Expected value (True for non-empty result, or specific row count).

Return type:

bool

Returns:

True if validation passes, False otherwise.