feat: preserve governed OpenAI tool messages in 1.4.0

Add faithful single-choice chat results, tool stream activity, error-frame retries, and isolated protocol caching.

Reject empty cached completions with the same value predicate as transport, add regression coverage, and adopt Apache-2.0.
This commit is contained in:
2026-10-01 14:32:19 -04:00
parent 0e29deac1a
commit 9185eab8c9
42 changed files with 2227 additions and 78 deletions
+12
View File
@@ -88,3 +88,15 @@ def test_every_promised_export_is_actually_importable():
"""
missing = [name for name in polygateway.__all__ if not hasattr(polygateway, name)]
assert not missing, f"__all__ 承诺了但没绑上的符号: {missing}"
def test_apache_license_metadata():
"""许可正文和包元数据同时存在,不以版本说明替代许可。"""
import tomllib
from pathlib import Path
root = Path(__file__).resolve().parents[2]
assert "Apache License" in (root / "LICENSE").read_text()
assert "Version 2.0" in (root / "LICENSE").read_text()
project = tomllib.loads((root / "pyproject.toml").read_text())["project"]
assert project["license"] == {"file": "LICENSE"}