@@ -188,16 +188,16 @@ def _serialized_v1_span_to_serialized_v2_span(
188188
189189def _split_gen_ai_spans (
190190 event_opt : "Event" ,
191- ) -> "tuple[List[Dict[str, object]], List[Dict[str, object]]]" :
191+ ) -> "Optional[ tuple[List[Dict[str, object]], List[Dict[str, object] ]]]" :
192192 if "spans" not in event_opt :
193- return [], []
193+ return None
194194
195195 spans = event_opt ["spans" ]
196196 if isinstance (spans , AnnotatedValue ):
197197 spans = spans .value
198198
199199 if not isinstance (spans , Iterable ):
200- return [], []
200+ return None
201201
202202 non_gen_ai_spans = []
203203 gen_ai_spans = []
@@ -1035,12 +1035,15 @@ def capture_event(
10351035 if isinstance (profile , Profile ):
10361036 envelope .add_profile (profile .to_json (event_opt , self .options ))
10371037
1038- non_gen_ai_spans , gen_ai_spans = _split_gen_ai_spans (event_opt )
1038+ split_spans = _split_gen_ai_spans (event_opt )
1039+ if split_spans is None or not split_spans [1 ]:
1040+ envelope .add_transaction (event_opt )
1041+ else :
1042+ non_gen_ai_spans , gen_ai_spans = split_spans
10391043
1040- event_opt ["spans" ] = non_gen_ai_spans
1041- envelope .add_transaction (event_opt )
1044+ event_opt ["spans" ] = non_gen_ai_spans
1045+ envelope .add_transaction (event_opt )
10421046
1043- if gen_ai_spans :
10441047 envelope .add_item (
10451048 Item (
10461049 type = SpanBatcher .TYPE ,
0 commit comments