Get uvm_config_db from uvm_sequence_item

Set from env class: (for multi agent instances)

uvm_config_db #(axi4_agent_config#(.DATA_WIDTH(DATA_WIDTH), .USER_WIDTH(2), .ID_WIDTH(0), .DEST_WIDTH(0)) )::set(this, “axi_agent_num_1*”, “AXI4_STREAM_CONFIG”, m_config.m_axi4_stream_data_in_1_config);

in the agent item (using typdef)

typedef axi4_agent_config;

class axi4_agent_item#(uint DATA_WIDTH = 32, uint USER_WIDTH = 32, uint ID_WIDTH = 4, uint DEST_WIDTH = 32) extends uvm_sequence_item;
.
.
.
axi4_agent_config#(DATA_WIDTH, USER_WIDTH, ID_WIDTH, DEST_WIDTH) m_cfg;
.
.
.
uvm_config_db #(axi4_agent_config#(DATA_WIDTH, USER_WIDTH, ID_WIDTH, DEST_WIDTH))::get(this, “”, “AXI4_AGENT_CONFIG”, m_cfg))

And the error from the simulator:
** Error: (vsim-7065) Illegal assignment to class mtiUvm.uvm_pkg::uvm_component from class tb_lib.axi4_agent_uvc_pkg::axi4_agent_item #(32, 2, 0, 0)

** Error: (vsim-8754) Actual input arg. of type ‘class tb_lib.axi4_stream_uvc_pkg::axi4_agent_item #(32, 2, 0, 0)’ for formal ‘cntxt’ of ‘get’ is not compatible with the formal’s type ‘class mtiUvm.uvm_pkg::uvm_component’.

I used typedef since in compilation the simulator doesn’t recognize the env config class.
and some issue since it’s a parametrized anent

thank you for the help