Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
44519d8
Added the Stream service messages as experimental.
moetemp Oct 25, 2026
0a4e667
Dropped the close status, and let a zero sequence take the next one.
moetemp Oct 30, 2026
9f6f1a5
Added the Stream service WIT, generated with a pinned nexgen fork.
moetemp Oct 30, 2026
2c8322f
Renamed Supersession to Superseded, and the StreamRef fields to ref.
moetemp Oct 31, 2026
a1160cf
Renamed StreamRef to StreamHandle, and its fields to handle.
moetemp Oct 31, 2026
cd0fa67
Renamed the handle of a create request to stream_handle.
moetemp Oct 31, 2026
5784c82
Renamed Superseded to StreamSuperseded.
moetemp Oct 31, 2026
0b6d5ad
Renamed the target key of the WIT directives to targets.
moetemp Oct 31, 2026
643d4ec
Moved the nexgen pin, and added the owner source and enum fallbacks.
moetemp Oct 31, 2026
2df4455
Moved the nexgen pin to the fork chain on the current upstream.
moetemp Nov 3, 2026
87dc735
Made create strict and Workflow Streams standalone, with no definitions.
moetemp Nov 5, 2026
beaa64c
Took the review of the Stream protos from temporalio/sdk-rust#1733.
moetemp Nov 5, 2026
7b38c09
Made the epoch a oneof whose case is the Producer's kind.
moetemp Nov 5, 2026
d00cb7c
Made the docs of the payload type and the enums plain comments.
moetemp Nov 5, 2026
cabddc7
Stopped using name as a verb in the Stream comments.
moetemp Nov 5, 2026
fffc801
Reworded the comment on the create's handle field.
moetemp Nov 5, 2026
e8eefe8
Split the storage reason, and made a close write no Record.
moetemp Nov 5, 2026
e4e2c47
Renamed StreamHandle to StreamRef, and its fields to ref.
moetemp Nov 5, 2026
1f72662
Moved the Producer and withdrawal fields of a write into StreamWriter.
moetemp Nov 5, 2026
e6ed622
Dropped the resource's type parameter, which nexgen now infers.
moetemp Nov 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 20 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,11 @@ PROTO_PATHS = paths=source_relative:$(PROTO_OUT)
OAPI_OUT := openapi
OAPI3_PATH := .components.schemas.Payload

NEX_GEN ?= nexgen
# The Stream WIT uses nexgen directives that no release has yet. Pin the fork commit that has them
# until a release does.
NEX_GEN_REV := f9578ddbd8dbc8a1a79320210d58d1b722cd542b
NEX_GEN_ROOT := $(CURDIR)/$(STAMPDIR)/nexgen-$(NEX_GEN_REV)
NEX_GEN ?= $(NEX_GEN_ROOT)/bin/nexgen

$(PROTO_OUT):
mkdir $(PROTO_OUT)
Expand Down Expand Up @@ -142,6 +146,7 @@ nexus-rpc-yaml-install:
@cd cmd/protoc-gen-nexus-rpc-yaml && go install .

##### Compile system Nexus WIT files #####
# No Stream operation returns StreamErrorDetails, so add-message selects it by name.
system-nexus-wit: system-nexus-wit-install nex-gen-install
printf $(COLOR) "Generate system Nexus WIT..."
tmp=$$(mktemp -d); trap 'rm -rf "$$tmp"' EXIT; \
Expand All @@ -152,21 +157,32 @@ system-nexus-wit: system-nexus-wit-install nex-gen-install
--system-nexus-wit_opt=linked_input=nexus/deps \
--system-nexus-wit_out=. \
temporal/api/workflowservice/v1/service.proto \
temporal/api/notificationservice/v1/request_response.proto && \
temporal/api/notificationservice/v1/request_response.proto \
temporal/api/streamservice/v1/request_response.proto && \
$(NEX_GEN) add-message \
--descriptors "$$tmp/system.bin" \
--file temporal/api/notificationservice/v1/request_response.proto \
--input nexus/notification-service.wit \
--input nexus/deps \
--output nexus/notification-service.wit
--output nexus/notification-service.wit && \
$(NEX_GEN) add-message \
--descriptors "$$tmp/system.bin" \
--file temporal/api/streamservice/v1/request_response.proto \
--message temporal.api.stream.v1.StreamErrorDetails \
--input nexus/stream-service.wit \
--input nexus/deps \
--output nexus/stream-service.wit

system-nexus-wit-install:
printf $(COLOR) "Build and install protoc-gen-system-nexus-wit..."
@cd cmd/protoc-gen-system-nexus-wit && go install .

# The git CLI follows a local URL rewrite to SSH, which cargo's own git client can't authenticate.
nex-gen-install:
printf $(COLOR) "Install nexgen if missing..."
command -v $(NEX_GEN) >/dev/null || cargo install nexgen --version ^0.2 --features advanced
command -v $(NEX_GEN) >/dev/null || CARGO_NET_GIT_FETCH_WITH_CLI=true cargo install \
--git https://github.com/moetemp/nexgen --rev $(NEX_GEN_REV) --locked --features advanced \
--root $(NEX_GEN_ROOT) nexgen

##### Clean #####
clean:
Expand Down
Loading
Loading