Function nemo_relay_tool_call_execute

View as Markdown

Generated from cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi.

#[unsafe(no_mangle)]pub unsafe extern "C" fn nemo_relay_tool_call_execute(
    name: *const c_char,
    args_json: *const c_char,
    func: NemoRelayToolExecCb,
    func_user_data: *mut c_void,
    func_free: NemoRelayFreeFn,
    parent: *const FfiScopeHandle,
    attributes: u32,
    data_json: *const c_char,
    metadata_json: *const c_char,
    out: *mut *mut c_char,
) -> NemoRelayStatus

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_relay_string_free.

Safety

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