(self)
| 212 | |
| 213 | @cached_property |
| 214 | def outputs(self) -> list[MCPOutput]: |
| 215 | if self._cb_info.get("no_output"): |
| 216 | return [] |
| 217 | parsed = split_callback_id(self._output_id) |
| 218 | if isinstance(parsed, dict): |
| 219 | parsed = [parsed] |
| 220 | result: list[MCPOutput] = [] |
| 221 | for p in parsed: |
| 222 | comp_id = p["id"] |
| 223 | prop = clean_property_name(p["property"]) |
| 224 | id_and_prop = f"{comp_id}.{prop}" |
| 225 | comp = find_component(comp_id) |
| 226 | result.append( |
| 227 | { |
| 228 | "id_and_prop": id_and_prop, |
| 229 | "component_id": comp_id, |
| 230 | "property": prop, |
| 231 | "component_type": getattr(comp, "_type", None), |
| 232 | "initial_value": self.initial_output_value(id_and_prop), |
| 233 | "tool_name": self.tool_name, |
| 234 | } |
| 235 | ) |
| 236 | return result |
| 237 | |
| 238 | @cached_property |
| 239 | def inputs(self) -> list[MCPInput]: |
nothing calls this directly
no test coverage detected