Snakepit.Bridge.ToolRegistry (Snakepit v0.6.10)

View Source

Registry for managing tool metadata and execution.

Maintains a registry of both local (Elixir) and remote (Python) tools, handles tool discovery, registration, and provides execution dispatch.

Summary

Functions

Returns a specification to start this module under a supervisor.

Removes all tools for a session (cleanup).

Gets a specific tool by name.

Lists only Elixir tools exposed to Python for a session.

Lists all tools available for a session.

Registers multiple tools at once (used by Python workers on startup).

Starts the ToolRegistry GenServer.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

cleanup_session(session_id)

Removes all tools for a session (cleanup).

execute_local_tool(session_id, tool_name, params)

Executes a local Elixir tool.

get_tool(session_id, tool_name)

Gets a specific tool by name.

list_exposed_elixir_tools(session_id)

Lists only Elixir tools exposed to Python for a session.

list_tools(session_id)

Lists all tools available for a session.

register_elixir_tool(session_id, tool_name, handler, metadata \\ %{})

Registers a local Elixir tool.

register_python_tool(session_id, tool_name, worker_id, metadata \\ %{})

Registers a remote Python tool.

register_tools(session_id, tool_specs)

Registers multiple tools at once (used by Python workers on startup).

start_link(opts \\ [])

Starts the ToolRegistry GenServer.