Repository navigation
Conversation
moetemp
force-pushed
the
moe/up/upstream-combined
branch
from
November 3, 2026 15:22
1e36335 to
7293e5b
Compare
moetemp
force-pushed
the
moe/up/typescript-client-target
branch
2 times, most recently
from
November 4, 2026 09:34
5e2ddc6 to
cf55965
Compare
moetemp
changed the base branch from
moe/up/upstream-combined
to
moe/up/workflow-sync-start
November 4, 2026 09:35
moetemp
force-pushed
the
moe/up/workflow-sync-start
branch
from
November 5, 2026 05:19
c392d48 to
fdf9097
Compare
moetemp
force-pushed
the
moe/up/typescript-client-target
branch
3 times, most recently
from
November 5, 2026 22:22
a386d04 to
e314cbb
Compare
moetemp
changed the base branch from
moe/up/workflow-sync-start
to
moe/up/stream-writer-sync
November 6, 2026 08:01
moetemp
force-pushed
the
moe/up/typescript-client-target
branch
from
November 6, 2026 08:01
e314cbb to
a983f84
Compare
moetemp
force-pushed
the
moe/up/stream-writer-sync
branch
from
November 6, 2026 09:08
6828fe6 to
a384208
Compare
moetemp
force-pushed
the
moe/up/typescript-client-target
branch
2 times, most recently
from
November 9, 2026 07:57
e6111ad to
23c26b2
Compare
moetemp
changed the base branch from
moe/up/stream-writer-sync
to
moe/up/stream-writer-sync-1106
November 9, 2026 07:57
The stream sample gets the TypeScript client API and read iterator that Python has. A client resource takes a service-bound Nexus client, as in Python.
Python yields the items of a polled page and resumes after one with its resume helper. TypeScript gets the same `iter<Name>Items` and `PollIterator`.
Python closes a resource at the end of `async with`. A TypeScript client resource with `@nexus.close` gets `Symbol.asyncDispose` for the same use.
moetemp
force-pushed
the
moe/up/typescript-client-target
branch
from
November 13, 2026 22:22
23c26b2 to
a61ab4c
Compare
The TypeScript client target moved the stream files to `both`, so the tests take that path. The generated files are what this branch's generator writes from the merged WIT.
moetemp
changed the base branch from
main
to
moe/up/stream-sample-workflow-writes
November 14, 2026 06:38
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 a client target to the TypeScript generator, on par with the Python one.
--targets workflow,clientadds aclient/package with a client mixin per service, client resources and aget<Resource>factory.@nexus.pollgivesiter<Name>for the pages anditer<Name>Itemsfor the items with a resume point. The sample WIT getstypescript-resume="resumeReadRequest".await using.@nexus.varargsand per-call RPC options stay out. A TypeScript rest parameter must come last, andstartOperationtakes no RPC options.Why?
The Python client target has no TypeScript half.
How did you test it?
stream-client.test.tschecks a create, an Activity writer, a rebuilt handle, the page loop and the item iterator with a fake client. The stream output doesn't type-check onmainyet, so the test loads it at run time.cargo validatepasses.Link to a test plan if any -