MCPcopy Create free account
hub / github.com/NVIDIA/NeMo-Relay / tool_call

Function tool_call

crates/python/src/py_api/mod.rs:374–405  ·  view source on GitHub ↗
(
    name: &str,
    args: &Bound<'_, PyAny>,
    handle: Option<PyScopeHandle>,
    attributes: Option<PyToolAttributes>,
    data: Option<&Bound<'_, PyAny>>,
    metadata: Option<&Bound<'_, PyAny>>

Source from the content-addressed store, hash-verified

372 timestamp: "datetime.datetime | None"=None
373) -> "ToolHandle", text_signature = "(name: str, args: object, *, handle: ScopeHandle | None = None, attributes: ToolAttributes | None = None, data: object | None = None, metadata: object | None = None, tool_call_id: str | None = None, timestamp: datetime.datetime | None = None) -> ToolHandle")]
374fn tool_call(
375 name: &str,
376 args: &Bound<'_, PyAny>,
377 handle: Option<PyScopeHandle>,
378 attributes: Option<PyToolAttributes>,
379 data: Option<&Bound<'_, PyAny>>,
380 metadata: Option<&Bound<'_, PyAny>>,
381 tool_call_id: Option<String>,
382 timestamp: Option<&Bound<'_, PyAny>>,
383) -> PyResult<PyToolHandle> {
384 let args_json = py_to_json(args)?;
385 let attrs = attributes
386 .map(|a| a.inner)
387 .unwrap_or(ToolAttributes::empty());
388 let data = opt_py_to_json(data)?;
389 let metadata = opt_py_to_json(metadata)?;
390 let timestamp = opt_py_to_timestamp(timestamp)?;
391 core_tool_api::tool_call(
392 core_tool_api::ToolCallParams::builder()
393 .name(name)
394 .args(args_json)
395 .parent_opt(handle.as_ref().map(|h| &h.inner))
396 .attributes(attrs)
397 .data_opt(data)
398 .metadata_opt(metadata)
399 .tool_call_id_opt(tool_call_id)
400 .timestamp_opt(timestamp)
401 .build(),
402 )
403 .map(PyToolHandle::from)
404 .map_err(to_py_err)
405}
406
407/// End a tool call — records the result and emits an ``End`` event.
408///

Calls 6

py_to_jsonFunction · 0.85
opt_py_to_jsonFunction · 0.85
opt_py_to_timestampFunction · 0.85
buildMethod · 0.45
attributesMethod · 0.45
nameMethod · 0.45