Repository navigation
Conversation
It is the base that the sdk-streams port changes. Its tree equals that branch's head.
The stream runtime now lives in the sdk-streams crate. STREAMS_STORE picks Redis or memory, and the tests default to memory on the time-skipping server.
2 of 3 tasks
Owner
Author
|
Replaced by #4, which ports the harness onto Brook. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed?
This PR ports the harness's turn-event streams onto
temporalio.contrib.streams, the Python face of thetemporalio-streamsruntime frommoetemp/sdk-streams. The agent publishes withworkflow_writer, activities append throughactivity_handle(), and clients and the web app read withget_stream_handle(client, ...).temporaliois pinned to the Bridge top of sdk-python,moe/bridge/v2/dr40-sdk-streams.STREAMS_STOREpicksredis(the default, since the web app and the workers are separate processes) ormemory.STREAMS_NOTIFY=1lets idle readers sleep on the server's stream notifier. The first commit is the tree of the closed #2, so the later commits show only the move to the new runtime.The store now refuses a foreign cursor at the read's first step, not at the call. So
attachchecks the resume point with a short first read, the NexuspollMessagesanswersBAD_REQUESTfrom inside its read, and a subagent turn falls back to a full replay on the first pull.Why?
The stream runtime moved out of sdk-python into sdk-streams, and the
temporalio.streamsregistry that #2 used no longer exists. This keeps the harness as the shared yardstick on the current runtime.How did you test it?
Link to a test plan if any -