Python: raw-data content mappings lose annotations and attachment metadata
メンテナーはふだん 1 日以内に返信
@moonbox3 がすでに取り組んでいます。
2026年9月29日 から。
評価
調査の方向性
Content.from_dict の raw-data ブランチから始めて、Content.from_data への委譲と比較し、次に Message が mappings から contents を構築する方法を追跡します。直接パースと Message の入力に対するリグレッションカバレッジを追加し、annotations、additional_properties、raw_representation が保持される一方で、バイナリペイロードが正しくエンコードされたままであることを検証します。
索引モデルが issue の本文から書いたものです。
説明
Description
Passing a raw-data content mapping to Content.from_dict or Message silently drops annotations, additional_properties, and raw_representation. The equivalent Content.from_data call preserves all three.
This loses useful file metadata such as additional_properties["filename"], which file adapters and Content Understanding use to identify attachments.
Code Sample
from agent_framework import Content, Message
raw = object()
data = {
"type": "data",
"data": b"test data",
"media_type": "text/plain",
"annotations": [{"type": "citation", "title": "Source document", "file_id": "file-123"}],
"additional_properties": {"filename": "document.txt"},
"raw_representation": raw,
}
for content in (Content.from_dict(data), Message("user", [data]).contents[0]):
print(content.annotations, content.additional_properties, content.raw_representation is raw)
Expected: the supplied annotations, {"filename": "document.txt"}, and True.
Actual: None {} False for both parsing paths. The binary payload itself is correctly encoded.
Error Messages / Stack Traces
No exception is raised; the metadata is silently discarded.
Package Versions
agent-framework-core 1.19.0, reproduced from main at 98a982a.
Python Version
Python 3.12.13, macOS arm64.
Additional Context
The raw-data branch in Content.from_dict delegates to cls.from_data without forwarding the three metadata fields it has already extracted. I am preparing a small fix with regression coverage for both direct parsing and Message inputs. Passing a Content.from_data(...) instance directly is a workaround.
- 主要言語
- Python
- スター
- 14k
- フォーク
- 2.5k
- 平均マージ
- 2日 7時間
- マージ済み PR(30日)
- 416
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/agent-framework のほかの issue
-
Python: [Bug]: Out-of-range Cosmos memory search parameters silently disable retrieval対応中かも @eavanvalkenburg が 1 日前に担当しました。 オープンpython
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
microsoft/agent-framework#9317 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Python: [Bug]: A non-positive MCP request timeout silently disables the timeout対応中かも @jpalvarezl が 1 日前に担当しました。 オープンpython
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
microsoft/agent-framework#9313 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Python: [Bug]: Content.from_dict leaves the nested content of image generation and MCP server tool results as plain dicts対応中かも @eavanvalkenburg が 1 日前に担当しました。 オープンpython
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
microsoft/agent-framework#9303 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
.NET python triage
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
microsoft/agent-framework#9092 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Python: Clarify when to use platform対応中かも @eavanvalkenburg が 14 日前に担当しました。 オープンpython triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
microsoft/agent-framework#8599 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
microsoft/agent-framework の issue をすべて見る
似ている issue
-
good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
btclib-org/btclib-node#1955 ·
メンテナーはふだん 1 日以内に返信
-
documentation v0.9.2
難易度 2/5 半日 初心者へのやさしさ 72/100
khuisman/mcp-gee-sweet#1033 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
ossf/cve-bin-tool#5966 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 2 日以内に返信
-
write_iceberg ignores the table's write.parquet.compression-codec property対応中かも @YuangGao が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
Eventual-Inc/Daft#7606 ·
メンテナーはふだん 1 日以内に返信