in src/ZGOOG_DEMO_RAP_AGENT/src/zcl_goog_rap_agent_base.clas.abap [0:0]
METHOD register_tools.
LOOP AT it_tool_definitions ASSIGNING FIELD-SYMBOL(<fs_tool>).
DATA(lt_sdk_params) = VALUE /goog/cl_generative_model=>tt_parameter_properties( ).
" Convert tool parameters to SDK format
LOOP AT <fs_tool>-parameters ASSIGNING FIELD-SYMBOL(<fs_param>).
APPEND VALUE #( parameter_name = <fs_param>-name
type = <fs_param>-type
description = <fs_param>-description
is_required = <fs_param>-is_required )
TO lt_sdk_params.
ENDLOOP.
" Add the function declaration to the SDK model
mo_model->add_function_declaration( iv_name = <fs_tool>-name " Must match the FM name if using auto-invoke
iv_description = <fs_tool>-description
it_parameters = lt_sdk_params ).
ENDLOOP.
mo_model->set_rap_tools( it_tool_definitions ).
mo_model->clear_execution_plan( ).