entity.tools package

entity.tools.discover_tools(category=None)[source]

Return tools filtered by category if provided.

Parameters:

category (str | None)

Return type:

List[ToolInfo]

entity.tools.register_tool(func, name=None, *, category=None, description=None, input_model=None, output_model=None)[source]

Register func under name with optional metadata.

Parameters:
Return type:

None

class entity.tools.ToolInfo(name, func, category=None, description=None, input_model=None, output_model=None)[source]

Bases: object

Metadata about a registered tool.

Parameters:
__init__(name, func, category=None, description=None, input_model=None, output_model=None)
Parameters:
Return type:

None

category: str | None = None
description: str | None = None
input_model: Type[BaseModel] | None = None
output_model: Type[BaseModel] | None = None
name: str
func: Callable[[...], Any]
entity.tools.clear_registry()[source]

Remove all registered tools (mainly for tests).

Return type:

None

class entity.tools.SandboxedToolRunner(timeout=5.0, memory_mb=None)[source]

Bases: object

Run tools with timeout and optional resource limits.

This is a compatibility wrapper around SecureSandboxRunner. For new code, use SecureSandboxRunner directly for better security.

Parameters:
  • timeout (float)

  • memory_mb (int | None)

__init__(timeout=5.0, memory_mb=None)[source]

Initialize sandbox with basic isolation for backward compatibility.

Parameters:
  • timeout (float) – Maximum execution time in seconds

  • memory_mb (int | None) – Memory limit in megabytes

Return type:

None

async run(func, *args, **kwargs)[source]

Run function in sandbox with resource limits.

Parameters:
  • func (Callable[[...], Any]) – Function to execute

  • *args (Any) – Positional arguments

  • **kwargs (Any) – Keyword arguments

Returns:

Function result

Raises:
Return type:

Any

Submodules