Python: fix: keep citation get_url metadata (#6037)

* fix: keep citation get_url metadata

* fix: satisfy citation metadata mypy check
This commit is contained in:
Yufeng He
2026-05-28 04:09:02 +08:00
committed by GitHub
Unverified
parent 1d301af7d2
commit 4c4e1d9b87
2 changed files with 8 additions and 1 deletions
@@ -2880,11 +2880,15 @@ class RawOpenAIChatClient( # type: ignore[misc]
if ann_url:
ann_start = _get_ann_value("start_index")
ann_end = _get_ann_value("end_index")
annotation_properties: dict[str, Any] = {"annotation_index": event.annotation_index}
ann_get_url = _get_ann_value("get_url")
if ann_get_url is not None:
annotation_properties["get_url"] = ann_get_url
annotation_obj = Annotation(
type="citation",
title=_get_ann_value("title") or "",
url=str(ann_url),
additional_properties={"annotation_index": event.annotation_index},
additional_properties=annotation_properties,
raw_representation=annotation,
)
if ann_start is not None and ann_end is not None:
@@ -3407,9 +3407,11 @@ def test_streaming_annotation_added_with_url_citation() -> None:
mock_event = MagicMock()
mock_event.type = "response.output_text.annotation.added"
mock_event.annotation_index = 0
get_url = "https://example.search.windows.net/indexes/docs/documents/doc-123?api-version=2024-07-01"
mock_event.annotation = {
"type": "url_citation",
"url": "https://example.sharepoint.com/sites/my-site/doc.pdf",
"get_url": get_url,
"title": "doc.pdf",
"start_index": 100,
"end_index": 112,
@@ -3427,6 +3429,7 @@ def test_streaming_annotation_added_with_url_citation() -> None:
assert annotation["title"] == "doc.pdf"
assert annotation["url"] == "https://example.sharepoint.com/sites/my-site/doc.pdf"
assert annotation["additional_properties"]["annotation_index"] == 0
assert annotation["additional_properties"]["get_url"] == get_url
assert annotation["raw_representation"] == mock_event.annotation
assert annotation["annotated_regions"] is not None
assert len(annotation["annotated_regions"]) == 1