@@ -94,43 +94,31 @@ def _set_input_data(span, get_response_kwargs):
9494 # type: (sentry_sdk.tracing.Span, dict[str, Any]) -> None
9595 if not should_send_default_pii ():
9696 return
97+ request_messages = []
9798
98- messages_by_role = {
99- "system" : [],
100- "user" : [],
101- "assistant" : [],
102- "tool" : [],
103- } # type: (dict[str, list[Any]])
10499 system_instructions = get_response_kwargs .get ("system_instructions" )
105100 if system_instructions :
106- messages_by_role ["system" ].append ({"type" : "text" , "text" : system_instructions })
101+ request_messages .append (
102+ {
103+ "role" : "system" ,
104+ "content" : [{"type" : "text" , "text" : system_instructions }],
105+ }
106+ )
107107
108108 for message in get_response_kwargs .get ("input" , []):
109109 if "role" in message :
110- # Normalize role to standard gen_ai values
111110 normalized_role = normalize_message_role (message .get ("role" ))
112- # Ensure we have a valid bucket for the normalized role
113- if normalized_role not in messages_by_role :
114- # Map any unrecognized roles to appropriate defaults
115- if normalized_role == "tool_call" :
116- normalized_role = (
117- "tool" # OpenAI Agents uses "tool" instead of "tool_call"
118- )
119-
120- if normalized_role in messages_by_role :
121- messages_by_role [normalized_role ].append (
122- {"type" : "text" , "text" : message .get ("content" )}
123- )
111+ request_messages .append (
112+ {
113+ "role" : normalized_role ,
114+ "content" : [{"type" : "text" , "text" : message .get ("content" )}],
115+ }
116+ )
124117 else :
125118 if message .get ("type" ) == "function_call" :
126- messages_by_role [ "assistant" ] .append (message )
119+ request_messages .append ({ "role" : "assistant" , "content" : [ message ]} )
127120 elif message .get ("type" ) == "function_call_output" :
128- messages_by_role ["tool" ].append (message )
129-
130- request_messages = []
131- for role , messages in messages_by_role .items ():
132- if len (messages ) > 0 :
133- request_messages .append ({"role" : role , "content" : messages })
121+ request_messages .append ({"role" : "tool" , "content" : [message ]})
134122
135123 set_data_normalized (
136124 span , SPANDATA .GEN_AI_REQUEST_MESSAGES , request_messages , unpack = False
0 commit comments