Skip to main content

nemo_flow_tool_call_execute

Function nemo_flow_tool_call_execute 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn nemo_flow_tool_call_execute( name: *const c_char, args_json: *const c_char, func: NemoFlowToolExecCb, func_user_data: *mut c_void, func_free: NemoFlowFreeFn, parent: *const FfiScopeHandle, attributes: u32, data_json: *const c_char, metadata_json: *const c_char, out: *mut *mut c_char, ) -> NemoFlowStatus
Expand description

Execute a tool call end-to-end: run conditional-execution guardrails (on raw args), then request intercepts, sanitize-request guardrails, execution intercepts, the callback, and sanitize-response guardrails. On rejection, only a standalone Mark event is emitted (no Start/End pair) and GuardrailRejected is returned. Blocks the calling thread until completion.

§Parameters

  • name: Null-terminated tool name.
  • args_json: Tool arguments as a JSON C string.
  • func: C callback that performs the actual tool execution.
  • func_user_data: Opaque pointer passed to func.
  • func_free: Optional destructor for func_user_data.
  • parent: Optional parent scope handle, or null.
  • attributes: Bitfield of tool attributes.
  • data_json: Optional JSON data, or null.
  • metadata_json: Optional JSON metadata, or null.
  • out: On success, receives the result as a JSON C string. Caller must free with nemo_flow_string_free.

§Safety

name, args_json, and out must be valid, non-null pointers.