Repository navigation
Conversation
This was referenced Oct 28, 2026
moetemp
force-pushed
the
moe/up/error-enums
branch
from
October 29, 2026 04:00
dbd78c4 to
f867378
Compare
moetemp
force-pushed
the
moe/up/resource-close
branch
from
October 31, 2026 13:08
4f19dc9 to
db18952
Compare
moetemp
force-pushed
the
moe/up/error-enums
branch
from
October 31, 2026 13:08
f867378 to
12e53e5
Compare
moetemp
force-pushed
the
moe/up/resource-close
branch
from
November 3, 2026 15:22
db18952 to
99765ef
Compare
moetemp
force-pushed
the
moe/up/error-enums
branch
from
November 3, 2026 15:22
12e53e5 to
50b057f
Compare
moetemp
force-pushed
the
moe/up/resource-close
branch
from
November 4, 2026 09:34
99765ef to
7e9445a
Compare
moetemp
force-pushed
the
moe/up/error-enums
branch
2 times, most recently
from
November 5, 2026 05:19
2fa5018 to
d9bd84b
Compare
moetemp
force-pushed
the
moe/up/resource-close
branch
2 times, most recently
from
November 5, 2026 07:27
5b9ed4e to
95b18f5
Compare
moetemp
force-pushed
the
moe/up/error-enums
branch
from
November 5, 2026 07:27
d9bd84b to
5d59255
Compare
`@nexus.error` on an enum makes a class per case of a failed call, under one base. Python's calls raise the class of a failed call's reason from the original error.
moetemp
force-pushed
the
moe/up/resource-close
branch
from
November 5, 2026 22:22
95b18f5 to
c7e5e39
Compare
moetemp
force-pushed
the
moe/up/error-enums
branch
from
November 5, 2026 22:22
5d59255 to
09e7653
Compare
Owner
Author
|
Closing this. The Stream error classes move into sdk-python by hand, since |
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 adds
@nexus.error, which maps the cases of an error enum to exception classes.@nexus.fallbackcase of feat: decode an unknown proto enum number as a marked fallback case temporalio/nexgen#321.retryable=true. Its failure type is the class name, and its details hold the details record, so a Local Activity failure maps to the same class.TypeScript and .NET get the classes and the function that picks one. Their calls convert a failure in a follow-up PR.
Why?
The proposal raises one error class per Store reason, such as
StreamNotFoundError. The facade maps the reasons by hand today.How did you test it?
Link to a test plan if any -
Python tests raise the mapped class from a client call and from a Local Activity failure. Python and TypeScript tests decode a reason that this code doesn't know from the wire, and get the base class.