|  | 
| 12 | 12 | ) | 
| 13 | 13 | 
 | 
| 14 | 14 | 
 | 
|  | 15 | +def get_ai_lib_metadata(framework: str) -> Dict[str, Any]: | 
|  | 16 | +    """ | 
|  | 17 | +    Generate AI library metadata object with framework name. | 
|  | 18 | +    Used to identify which framework/SDK generated the AI event. | 
|  | 19 | +    """ | 
|  | 20 | +    return {"schema": "v1", "frameworks": [{"name": framework}]} | 
|  | 21 | + | 
|  | 22 | + | 
| 15 | 23 | def merge_usage_stats( | 
| 16 | 24 |     target: TokenUsage, source: TokenUsage, mode: str = "incremental" | 
| 17 | 25 | ) -> None: | 
| @@ -320,7 +328,7 @@ def call_llm_and_track_usage( | 
| 320 | 328 |                 ph_client, posthog_privacy_mode, kwargs.get("instructions") | 
| 321 | 329 |             ) | 
| 322 | 330 | 
 | 
| 323 |  | -        event_properties["$ai_lib_metadata"] = {"schema": "v1", "frameworks": [{"name": provider}]} | 
|  | 331 | +        event_properties["$ai_lib_metadata"] = get_ai_lib_metadata(provider) | 
| 324 | 332 | 
 | 
| 325 | 333 |         # send the event to posthog | 
| 326 | 334 |         if hasattr(ph_client, "capture") and callable(ph_client.capture): | 
| @@ -425,7 +433,7 @@ async def call_llm_and_track_usage_async( | 
| 425 | 433 |                 ph_client, posthog_privacy_mode, kwargs.get("instructions") | 
| 426 | 434 |             ) | 
| 427 | 435 | 
 | 
| 428 |  | -        event_properties["$ai_lib_metadata"] = {"schema": "v1", "frameworks": [{"name": provider}]} | 
|  | 436 | +        event_properties["$ai_lib_metadata"] = get_ai_lib_metadata(provider) | 
| 429 | 437 | 
 | 
| 430 | 438 |         # send the event to posthog | 
| 431 | 439 |         if hasattr(ph_client, "capture") and callable(ph_client.capture): | 
| @@ -487,7 +495,7 @@ def capture_streaming_event( | 
| 487 | 495 | 
 | 
| 488 | 496 |     # Build base event properties | 
| 489 | 497 |     event_properties = { | 
| 490 |  | -        "$ai_lib_metadata": {"schema": "v1", "frameworks": [{"name": event_data["provider"]}]}, | 
|  | 498 | +        "$ai_lib_metadata": get_ai_lib_metadata(event_data["provider"]), | 
| 491 | 499 |         "$ai_provider": event_data["provider"], | 
| 492 | 500 |         "$ai_model": event_data["model"], | 
| 493 | 501 |         "$ai_model_parameters": get_model_params(event_data["kwargs"]), | 
|  | 
0 commit comments