Public declaration syntax from forge-py/src/forge/core/tool.py Original source SHA-256: ccb5ad8af2baf0c71bbfbb7b12855a6aa3a434ce1a8c347432d59b42a2b6d338 Function bodies and constant values are omitted. This is not the complete implementation. Source line 20 class ToolTier(Enum) Source line 39 def requires_authorization(self) -> bool Source line 50 def as_str(self) -> str Source line 64 class ToolDefinition() Source line 94 def builder(name: str) -> ToolDefinitionBuilder Source line 105 def to_dict(self) -> dict[str, Any] Source line 119 def from_dict(data: dict[str, Any]) -> ToolDefinition Source line 135 def to_json(self) -> str Source line 144 def from_json(data: str) -> ToolDefinition Source line 156 class ToolDefinitionBuilder() Source line 163 def __init__(self, name: str) -> None Source line 169 def description(self, desc: str) -> ToolDefinitionBuilder Source line 181 def parameters(self, schema: JsonSchema) -> ToolDefinitionBuilder Source line 193 def tier(self, tier: ToolTier) -> ToolDefinitionBuilder Source line 205 def build(self) -> ToolDefinition Source line 220 class ToolCall() Source line 235 def to_dict(self) -> dict[str, Any] Source line 244 def from_dict(data: dict[str, Any]) -> ToolCall Source line 255 def to_json(self) -> str Source line 260 def from_json(data: str) -> ToolCall Source line 266 class ToolResult() Source line 283 def to_dict(self) -> dict[str, Any] Source line 293 def from_dict(data: dict[str, Any]) -> ToolResult Source line 302 def to_json(self) -> str Source line 307 def from_json(data: str) -> ToolResult Source line 313 class ToolApprovalApprove() Source line 323 class ToolApprovalDeny() Source line 337 class ToolApprovalModify() Source line 353 def tool_approval_to_dict(approval: ToolApproval) -> dict[str, Any] Source line 372 def tool_approval_from_dict(data: dict[str, Any]) -> ToolApproval