chore(deps): repin worldtree-sdk 1.1.2 → 1.2.0 + catch ResponseTooLarge

1.2.0 adds response-side allocation caps + a new exported `ResponseTooLarge`
(a ProtocolError, NOT a ConnectionDropped — retrying an oversized response is
futile; caps: 2xx body 108,004,096 B, SSE frame 540,000 B, both calibrated to
a 2.5.0 server, which worldtree-dev runs, so safe on legal traffic). Absorbed
WT spec 2.4.0/2.5.0 (zero-schema, no generated-type change).

We catalogue SDK errors explicitly, so ResponseTooLarge needs a home: added
`SseResponseTooLarge` (sse_client), mapped from `wtsdk.ResponseTooLarge` in
`wt.stream_turn` + `wt.stream_admin_events` (above the ApiError default — it's a
ProtocolError, not an ApiError), and caught in the two stream endpoints so an
oversized SSE frame surfaces as a labeled error, never an uncaught 500 or a
futile reconnect. The 108MB read-body cap is unreachable on legal traffic (a
108-megabyte transcript page is absurd), so reads inherit the SDK refusal
unwrapped. +2 adapter-mapping tests; 548 green. Done during the DCC-fix wait.
This commit is contained in:
vh
2026-08-02 18:22:19 -07:00
parent 006daf31ac
commit ae49dcf615
7 changed files with 59 additions and 11 deletions
Generated
+4 -4
View File
@@ -509,7 +509,7 @@ requires-dist = [
{ name = "sqlite-vec", marker = "extra == 'provider'", specifier = ">=0.1.6" },
{ name = "starlette", marker = "extra == 'web'", specifier = ">=0.40" },
{ name = "uvicorn", extras = ["standard"], marker = "extra == 'web'", specifier = ">=0.30" },
{ name = "worldtree-sdk", specifier = "==1.1.2", index = "https://gitea.phasefinal.com/api/packages/vh/pypi/simple/" },
{ name = "worldtree-sdk", specifier = "==1.2.0", index = "https://gitea.phasefinal.com/api/packages/vh/pypi/simple/" },
]
provides-extras = ["web", "provider", "dev"]
@@ -897,12 +897,12 @@ wheels = [
[[package]]
name = "worldtree-sdk"
version = "1.1.2"
version = "1.2.0"
source = { registry = "https://gitea.phasefinal.com/api/packages/vh/pypi/simple/" }
dependencies = [
{ name = "httpx" },
]
sdist = { url = "https://gitea.phasefinal.com/api/packages/vh/pypi/files/worldtree-sdk/1.1.2/worldtree_sdk-1.1.2.tar.gz", hash = "sha256:bd1eb8b303d4dd28ddb1fd63faac61a2674521f57f6bfdf580496245d75f08c2" }
sdist = { url = "https://gitea.phasefinal.com/api/packages/vh/pypi/files/worldtree-sdk/1.2.0/worldtree_sdk-1.2.0.tar.gz", hash = "sha256:48b1a9f44875069aade079f999c72c8df4cc7c6abf2e49fb9ad52a067594bd19" }
wheels = [
{ url = "https://gitea.phasefinal.com/api/packages/vh/pypi/files/worldtree-sdk/1.1.2/worldtree_sdk-1.1.2-py3-none-any.whl", hash = "sha256:81161a4ee58e45a6b2fa6044421a4baa56f25a0d26dca9b5f4a5113ce51835b2" },
{ url = "https://gitea.phasefinal.com/api/packages/vh/pypi/files/worldtree-sdk/1.2.0/worldtree_sdk-1.2.0-py3-none-any.whl", hash = "sha256:3516841dad7adf7a7bef5a492d2c9fe0b3e7abc3c453ee573ceddf20f7e6823a" },
]