Get node execution metadata for a specific node Returns the full node-level metadata object containing: - node_id, node_name, node_type, user_input, final_output - tools_available, total_tools_available - start_time, end_time, duration_ms, success, error - total_iterations, max_iterations, exit_reason - total_usage (aggregated token usage) - total_tool_calls, total_retries, tools_used - execution
(
&self,
py: Python<'_>,
node_id: &str,
)
| 195 | /// # Returns |
| 196 | /// Dictionary with node execution metadata, or None if not found |
| 197 | fn get_node_response_metadata( |
| 198 | &self, |
| 199 | py: Python<'_>, |
| 200 | node_id: &str, |
| 201 | ) -> PyResult<Option<PyObject>> { |
| 202 | let key = format!("node_response_{}", node_id); |
| 203 | match self.inner.metadata.get(&key) { |
| 204 | Some(value) => { |
| 205 | let mut node = value.clone(); |
| 206 | sanitize_node_metadata(&mut node); |
| 207 | let py_obj = pythonize::pythonize(py, &node)?; |
| 208 | Ok(Some(py_obj.into())) |
| 209 | } |
| 210 | None => Ok(None), |
| 211 | } |
| 212 | } |
| 213 | |
| 214 | /// Get complete workflow execution metadata |
| 215 | /// |