Commit Graph
6 Commits
Author SHA1 Message Date
Nick Hollon 7505c73243 Revert "Terminate sync stream iterators on stream-end, not on root-terminal lifecycle"
This reverts commit bbc71c398b.
2026-06-02 10:03:39 -04:00
Nick Hollon bbc71c398b Terminate sync stream iterators on stream-end, not on root-terminal lifecycle
The sync stream controller pushed the terminal None sentinel into every subscription queue the instant it saw a root-namespace completed/failed lifecycle event. Any event the server emits after that (e.g. a direct-child subgraph lifecycle/tasks event that feeds thread.subgraphs) was then queued behind the None and never consumed, because iterators return on the first None. This surfaced as thread.subgraphs yielding no direct-child handles for a factory/deep-agent graph on the sync client while the async client worked.

Align the sync controller with the async controller: terminate projection iterators when the shared stream ends (or on interrupt, signaled by the thread-stream), not on a mid-stream root-terminal event. Adds a regression test.
2026-06-01 22:42:33 -04:00
Nick HollonandGitHub 8cb0f3a96d feat(sdk-py): add thread stream helpers (#7833) 2026-05-27 17:02:59 -04:00
Nick HollonandGitHub d482fca105 feat(sdk-py): add websocket stream transports (#7830) 2026-05-27 16:01:01 -04:00
Nick HollonandGitHub 4f3ab2f969 feat(sdk-py): harden streaming reconnects (#7829) 2026-05-27 15:24:25 -04:00
Nick HollonandGitHub fe1c683fe1 feat(sdk-py): add sync thread stream core (#7826) 2026-05-27 13:41:55 -04:00