Patrick Buckley
4198b59a0f
fix: eager cancel_ref registration, SDK type drift, force-cancel tests ( #203 )
...
Providers now register the SDK stream handle eagerly (before returning
the iterator) instead of lazily inside a generator body. This closes
the window where cancel() couldn't abort a blocked HTTP read because
the stream handle wasn't populated yet.
- OpenAI: yield from → return (HTTP call + cancel_ref happen eagerly)
- Anthropic: split into eager __enter__ + _iter_with_cleanup generator
with defensive __exit__ on __enter__ failure
- Console SDK: delete_setting() return type fixed from StatusResponse
to DeleteSettingResponse (matching actual endpoint response)
- 2 new threaded force-cancel integration tests verifying orphaned
threads don't mutate messages and new generations succeed
- Updated _CancelRef docstring, test robustness (assert on wait)
2026-03-28 20:05:57 -07:00
..
2026-03-02 00:33:37 -08:00
2026-03-23 11:11:40 -07:00
2026-03-18 14:24:10 -07:00
2026-03-04 13:02:58 -08:00
2026-03-10 19:32:37 -07:00
2026-03-17 17:02:25 -07:00
2026-03-24 03:13:23 -07:00
2026-03-13 21:21:09 -07:00
2026-03-11 01:58:39 -07:00
2026-03-15 15:04:22 -07:00
2026-03-28 14:24:53 -07:00
2026-03-28 20:05:57 -07:00
2026-03-28 14:24:53 -07:00
2026-03-13 04:12:46 -07:00
2026-03-04 13:02:58 -08:00
2026-03-23 11:11:40 -07:00
2026-03-14 11:42:18 -07:00
2026-03-23 12:26:41 -07:00
2026-03-24 03:13:23 -07:00
2026-03-13 21:21:09 -07:00
2026-03-02 00:33:37 -08:00
2026-03-23 14:55:14 -07:00
2026-03-03 22:57:34 -08:00
2026-03-16 14:47:06 -07:00
2026-03-23 11:11:40 -07:00
2026-03-21 16:35:47 -07:00
2026-03-02 00:33:37 -08:00
2026-03-13 04:12:46 -07:00
2026-03-23 11:11:40 -07:00
2026-03-26 18:10:23 -07:00
2026-03-17 16:09:06 -07:00
2026-03-04 06:47:30 -08:00
2026-03-02 16:55:12 -08:00
2026-03-24 03:13:23 -07:00
2026-03-28 15:48:11 -07:00
2026-03-15 17:12:13 -07:00
2026-03-12 15:46:00 -07:00
2026-03-12 16:57:31 -07:00
2026-03-21 16:12:50 -07:00
2026-03-20 20:01:26 -07:00
2026-03-23 11:11:40 -07:00
2026-03-15 14:28:03 -07:00
2026-03-13 21:21:09 -07:00
2026-03-28 16:18:12 -07:00
2026-03-20 20:01:21 -07:00
2026-03-05 17:24:00 -08:00
2026-03-07 12:49:07 -08:00
2026-03-17 17:02:25 -07:00
2026-03-23 11:11:40 -07:00
2026-03-21 00:14:46 -07:00
2026-03-07 12:49:07 -08:00
2026-03-23 11:11:40 -07:00
2026-03-17 02:19:22 -07:00
2026-03-16 16:22:10 -07:00
2026-03-16 14:47:06 -07:00
2026-03-27 21:22:39 -07:00
2026-03-03 18:28:39 -08:00
2026-03-13 14:26:05 -07:00
2026-03-07 12:49:07 -08:00
2026-03-02 00:33:37 -08:00
2026-03-02 16:55:12 -08:00
2026-03-10 19:32:37 -07:00
2026-03-23 11:11:40 -07:00
2026-03-05 16:05:00 -08:00
2026-03-02 16:55:12 -08:00
2026-03-05 18:11:36 -08:00
2026-03-12 11:43:06 -07:00
2026-03-21 00:31:53 -07:00
2026-03-07 12:49:07 -08:00
2026-03-03 21:22:24 -08:00
2026-03-04 06:04:59 -08:00
2026-03-18 14:24:10 -07:00
2026-03-23 11:11:40 -07:00
2026-03-25 11:58:10 -07:00
2026-03-28 14:38:53 -07:00
2026-03-21 16:12:50 -07:00
2026-03-14 11:42:18 -07:00
2026-03-17 17:02:25 -07:00
2026-03-17 01:26:44 -07:00
2026-03-17 16:09:06 -07:00
2026-03-17 01:26:44 -07:00
2026-03-23 11:11:40 -07:00
2026-03-16 15:45:21 -07:00
2026-03-17 01:26:44 -07:00
2026-03-21 00:53:51 -07:00
2026-03-03 22:57:34 -08:00
2026-03-23 11:11:40 -07:00
2026-03-23 11:11:40 -07:00
2026-03-13 21:21:09 -07:00
2026-03-25 22:43:35 -07:00
2026-03-25 17:48:34 -07:00
2026-03-25 16:35:55 -07:00
2026-03-25 16:07:05 -07:00
2026-03-23 14:55:14 -07:00
2026-03-12 14:49:58 -07:00
2026-03-17 17:02:25 -07:00
2026-03-25 11:58:10 -07:00
2026-03-23 11:11:40 -07:00
2026-03-23 11:11:40 -07:00
2026-03-10 08:18:28 -07:00
2026-03-23 16:09:03 -07:00
2026-03-15 15:04:22 -07:00
2026-03-16 16:22:10 -07:00