radioviz.typing.tool_types
Typing protocols for tools and related components.
This module defines minimal typing contracts used to decouple tool discovery and registration from concrete tool implementations while still enabling strict typing for in-house tools.
Classes
|
Minimal protocol implemented by tool definitions. |
|
Minimal protocol for tool sessions tracked during workspace restoration. |
- class radioviz.typing.tool_types.ToolProtocol(*args, **kwargs)[source]
Bases:
ProtocolMinimal protocol implemented by tool definitions.
This protocol is used for plugin discovery where strict generic typing may not be available.
- Variables:
tool_id (str) – Unique identifier for the tool.
name (str) – Human-readable tool name.
description (str) – Short description for the UI.
windows_to_be_registered (list[WindowSpec]) – Window specs registered by the tool.
overlays_to_be_registered (list[OverlaySpec]) – Overlay specs registered by the tool.
- create_controller(ctx: ToolContext) ToolController[Any, Any][source]
Create the tool controller for this tool.
- Parameters:
ctx (ToolContext) – Tool context providing access to application services.
- Returns:
The controller instance for this tool.
- Return type:
ToolController[Any, Any]