diff --git a/.gitignore b/.gitignore index ec7a1292..1611a030 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea .gobincache .go-helpers-installed +.go-nexus-installed /descriptor_set.pb diff --git a/Makefile b/Makefile index 3c3a463c..97c526d1 100644 --- a/Makefile +++ b/Makefile @@ -40,13 +40,26 @@ update-proto-submodule: printf $(COLOR) "Update proto-submodule..." git -c protocol.file.allow=always submodule update --init --force --remote $(PROTO_ROOT) -##### Compile proto files for go ##### -grpc: http-api-docs go-grpc copy-helpers +NEXUS_RPC_GEN_SRC ?= $(HOME)/git/github.com/nexus-rpc/nexus-rpc-gen +NEXUS_SCHEMA_ROOT := $(PROTO_ROOT)/nexus +NEXUS_OUT := workflowservice/v1/workflowservicenexus -# Only install helper when its source has changed +##### Compile proto files for go ##### +grpc: http-api-docs go-grpc copy-helpers nexus-gen + +nexus-gen: + printf $(COLOR) "Generate nexus service definitions..." + mkdir -p $(NEXUS_OUT) + cd $(NEXUS_SCHEMA_ROOT) && nexus-rpc-gen \ + --lang go \ + --package workflowservicenexus \ + --out-file $(CURDIR)/$(NEXUS_OUT)/service_nexus.pb.go \ + temporal-proto-models-nexusrpc.yaml + +# Only install helpers when their source has changed HELPER_FILES = $(shell find ./cmd/protoc-gen-go-helpers) .go-helpers-installed: $(HELPER_FILES) - printf $(COLOR) "Installing protoc plugin" + printf $(COLOR) "Installing protoc-gen-go-helpers plugin" @go install ./cmd/protoc-gen-go-helpers @touch $@ @@ -104,12 +117,17 @@ gen-proto-desc: --output-descriptor=$(PROTO_OUT)/descriptor_set.pb ##### Plugins & tools ##### -grpc-install: - @printf $(COLOR) "Install/update grpc and plugins..." - @go install google.golang.org/protobuf/cmd/protoc-gen-go@latest +grpc-install: nexus-rpc-gen-install + @printf $(COLOR) "Install/update grpc plugins..." + @go install google.golang.org/protobuf/cmd/protoc-gen-go@latest @go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest @go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest +nexus-rpc-gen-install: + @printf $(COLOR) "Install nexus-rpc-gen from local source..." + @cd $(NEXUS_RPC_GEN_SRC)/src && pnpm run build + @cd $(NEXUS_RPC_GEN_SRC)/src/packages/nexus-rpc-gen && npm link + mockgen-install: printf $(COLOR) "Install/update mockgen..." go install -modfile=build/go.mod github.com/golang/mock/mockgen diff --git a/cmd/proxygenerator/go.mod b/cmd/proxygenerator/go.mod index 5cb6b849..a7b6a1fb 100644 --- a/cmd/proxygenerator/go.mod +++ b/cmd/proxygenerator/go.mod @@ -1,8 +1,6 @@ module go.temporal.io/api/cmd/proxygenerator -go 1.22.0 - -toolchain go1.24.0 +go 1.25.4 replace go.temporal.io/api => ../.. @@ -14,6 +12,7 @@ require ( require ( github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 // indirect + github.com/nexus-rpc/nexus-proto-annotations v0.0.0-20260330194009-e558d6edaf84 // indirect golang.org/x/mod v0.23.0 // indirect golang.org/x/net v0.35.0 // indirect golang.org/x/sync v0.11.0 // indirect diff --git a/cmd/proxygenerator/go.sum b/cmd/proxygenerator/go.sum index 6bc14e08..5df462ea 100644 --- a/cmd/proxygenerator/go.sum +++ b/cmd/proxygenerator/go.sum @@ -12,6 +12,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 h1:e9Rjr40Z98/clHv5Yg79Is0NtosR5LXRvdr7o/6NwbA= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1/go.mod h1:tIxuGz/9mpox++sgp9fJjHO0+q1X9/UOWd798aAm22M= +github.com/nexus-rpc/nexus-proto-annotations v0.0.0-20260330194009-e558d6edaf84 h1:SWHt3Coj0VvF0Km1A0wlY+IjnHKsjQLgO29io84r3wY= +github.com/nexus-rpc/nexus-proto-annotations v0.0.0-20260330194009-e558d6edaf84/go.mod h1:n3UjF1bPCW8llR8tHvbxJ+27yPWrhpo8w/Yg1IOuY0Y= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= diff --git a/go.mod b/go.mod index 1ac05b44..f65bfa0f 100644 --- a/go.mod +++ b/go.mod @@ -1,10 +1,12 @@ module go.temporal.io/api -go 1.21 +go 1.25.4 require ( github.com/golang/mock v1.6.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 + github.com/nexus-rpc/nexus-proto-annotations v0.0.0-20260330194009-e558d6edaf84 + github.com/nexus-rpc/sdk-go v0.6.0 github.com/stretchr/testify v1.9.0 google.golang.org/genproto/googleapis/api v0.0.0-20240827150818-7e3bb234dfed google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed diff --git a/go.sum b/go.sum index ec868699..d1589736 100644 --- a/go.sum +++ b/go.sum @@ -11,6 +11,10 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/nexus-rpc/nexus-proto-annotations v0.0.0-20260330194009-e558d6edaf84 h1:SWHt3Coj0VvF0Km1A0wlY+IjnHKsjQLgO29io84r3wY= +github.com/nexus-rpc/nexus-proto-annotations v0.0.0-20260330194009-e558d6edaf84/go.mod h1:n3UjF1bPCW8llR8tHvbxJ+27yPWrhpo8w/Yg1IOuY0Y= +github.com/nexus-rpc/sdk-go v0.6.0 h1:QRgnP2zTbxEbiyWG/aXH8uSC5LV/Mg1fqb19jb4DBlo= +github.com/nexus-rpc/sdk-go v0.6.0/go.mod h1:FHdPfVQwRuJFZFTF0Y2GOAxCrbIBNrcPna9slkGKPYk= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= diff --git a/nexusannotations/v1/options.pb.go b/nexusannotations/v1/options.pb.go new file mode 100644 index 00000000..5340f354 --- /dev/null +++ b/nexusannotations/v1/options.pb.go @@ -0,0 +1,233 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: nexusannotations/v1/options.proto + +package v1 + +import ( + reflect "reflect" + sync "sync" + unsafe "unsafe" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type OperationOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Nexus operation name (defaults to proto method name). + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Tags to attach to the operation. Used by code generators to include and exclude operations. + Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OperationOptions) Reset() { + *x = OperationOptions{} + mi := &file_nexusannotations_v1_options_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OperationOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationOptions) ProtoMessage() {} + +func (x *OperationOptions) ProtoReflect() protoreflect.Message { + mi := &file_nexusannotations_v1_options_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OperationOptions.ProtoReflect.Descriptor instead. +func (*OperationOptions) Descriptor() ([]byte, []int) { + return file_nexusannotations_v1_options_proto_rawDescGZIP(), []int{0} +} + +func (x *OperationOptions) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OperationOptions) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +type ServiceOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Nexus service name (defaults to proto service full name). + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Tags to attach to the service. Used by code generators to include and exclude services. + Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ServiceOptions) Reset() { + *x = ServiceOptions{} + mi := &file_nexusannotations_v1_options_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ServiceOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceOptions) ProtoMessage() {} + +func (x *ServiceOptions) ProtoReflect() protoreflect.Message { + mi := &file_nexusannotations_v1_options_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServiceOptions.ProtoReflect.Descriptor instead. +func (*ServiceOptions) Descriptor() ([]byte, []int) { + return file_nexusannotations_v1_options_proto_rawDescGZIP(), []int{1} +} + +func (x *ServiceOptions) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ServiceOptions) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +var file_nexusannotations_v1_options_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.ServiceOptions)(nil), + ExtensionType: (*ServiceOptions)(nil), + Field: 8233, + Name: "nexusannotations.v1.service", + Tag: "bytes,8233,opt,name=service", + Filename: "nexusannotations/v1/options.proto", + }, + { + ExtendedType: (*descriptorpb.MethodOptions)(nil), + ExtensionType: (*OperationOptions)(nil), + Field: 8234, + Name: "nexusannotations.v1.operation", + Tag: "bytes,8234,opt,name=operation", + Filename: "nexusannotations/v1/options.proto", + }, +} + +// Extension fields to descriptorpb.ServiceOptions. +var ( + // optional nexusannotations.v1.ServiceOptions service = 8233; + E_Service = &file_nexusannotations_v1_options_proto_extTypes[0] +) + +// Extension fields to descriptorpb.MethodOptions. +var ( + // optional nexusannotations.v1.OperationOptions operation = 8234; + E_Operation = &file_nexusannotations_v1_options_proto_extTypes[1] +) + +var File_nexusannotations_v1_options_proto protoreflect.FileDescriptor + +const file_nexusannotations_v1_options_proto_rawDesc = "" + + "\n" + + "!nexusannotations/v1/options.proto\x12\x13nexusannotations.v1\x1a google/protobuf/descriptor.proto\":\n" + + "\x10OperationOptions\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04tags\x18\x02 \x03(\tR\x04tags\"8\n" + + "\x0eServiceOptions\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04tags\x18\x02 \x03(\tR\x04tags:b\n" + + "\aservice\x12\x1f.google.protobuf.ServiceOptions\x18\xa9@ \x01(\v2#.nexusannotations.v1.ServiceOptionsR\aservice\x88\x01\x01:g\n" + + "\toperation\x12\x1e.google.protobuf.MethodOptions\x18\xaa@ \x01(\v2%.nexusannotations.v1.OperationOptionsR\toperation\x88\x01\x01BEZCgithub.com/nexus-rpc/nexus-proto-annotations/go/nexusannotations/v1b\x06proto3" + +var ( + file_nexusannotations_v1_options_proto_rawDescOnce sync.Once + file_nexusannotations_v1_options_proto_rawDescData []byte +) + +func file_nexusannotations_v1_options_proto_rawDescGZIP() []byte { + file_nexusannotations_v1_options_proto_rawDescOnce.Do(func() { + file_nexusannotations_v1_options_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_nexusannotations_v1_options_proto_rawDesc), len(file_nexusannotations_v1_options_proto_rawDesc))) + }) + return file_nexusannotations_v1_options_proto_rawDescData +} + +var file_nexusannotations_v1_options_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_nexusannotations_v1_options_proto_goTypes = []any{ + (*OperationOptions)(nil), // 0: nexusannotations.v1.OperationOptions + (*ServiceOptions)(nil), // 1: nexusannotations.v1.ServiceOptions + (*descriptorpb.ServiceOptions)(nil), // 2: google.protobuf.ServiceOptions + (*descriptorpb.MethodOptions)(nil), // 3: google.protobuf.MethodOptions +} +var file_nexusannotations_v1_options_proto_depIdxs = []int32{ + 2, // 0: nexusannotations.v1.service:extendee -> google.protobuf.ServiceOptions + 3, // 1: nexusannotations.v1.operation:extendee -> google.protobuf.MethodOptions + 1, // 2: nexusannotations.v1.service:type_name -> nexusannotations.v1.ServiceOptions + 0, // 3: nexusannotations.v1.operation:type_name -> nexusannotations.v1.OperationOptions + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 2, // [2:4] is the sub-list for extension type_name + 0, // [0:2] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_nexusannotations_v1_options_proto_init() } +func file_nexusannotations_v1_options_proto_init() { + if File_nexusannotations_v1_options_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_nexusannotations_v1_options_proto_rawDesc), len(file_nexusannotations_v1_options_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 2, + NumServices: 0, + }, + GoTypes: file_nexusannotations_v1_options_proto_goTypes, + DependencyIndexes: file_nexusannotations_v1_options_proto_depIdxs, + MessageInfos: file_nexusannotations_v1_options_proto_msgTypes, + ExtensionInfos: file_nexusannotations_v1_options_proto_extTypes, + }.Build() + File_nexusannotations_v1_options_proto = out.File + file_nexusannotations_v1_options_proto_goTypes = nil + file_nexusannotations_v1_options_proto_depIdxs = nil +} diff --git a/proto/api b/proto/api index afa3cce2..54fa5c49 160000 --- a/proto/api +++ b/proto/api @@ -1 +1 @@ -Subproject commit afa3cce2ccec8a2b36c4724c449f6c4a9984ccd7 +Subproject commit 54fa5c49fd1f21063772a9add2c2bb4f428e3615 diff --git a/workflowservice/v1/service.pb.go b/workflowservice/v1/service.pb.go index 3c8a74ec..c75ac3b0 100644 --- a/workflowservice/v1/service.pb.go +++ b/workflowservice/v1/service.pb.go @@ -10,6 +10,7 @@ import ( reflect "reflect" unsafe "unsafe" + _ "github.com/nexus-rpc/nexus-proto-annotations/go/nexusannotations/v1" _ "go.temporal.io/api/protometa/v1" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -27,7 +28,7 @@ var File_temporal_api_workflowservice_v1_service_proto protoreflect.FileDescript const file_temporal_api_workflowservice_v1_service_proto_rawDesc = "" + "\n" + - "-temporal/api/workflowservice/v1/service.proto\x12\x1ftemporal.api.workflowservice.v1\x1a6temporal/api/workflowservice/v1/request_response.proto\x1a\x1cgoogle/api/annotations.proto\x1a+temporal/api/protometa/v1/annotations.proto2\x9f\x87\x02\n" + + "-temporal/api/workflowservice/v1/service.proto\x12\x1ftemporal.api.workflowservice.v1\x1a\x1cgoogle/api/annotations.proto\x1a!nexusannotations/v1/options.proto\x1a+temporal/api/protometa/v1/annotations.proto\x1a6temporal/api/workflowservice/v1/request_response.proto2\xac\x87\x02\n" + "\x0fWorkflowService\x12\xc3\x01\n" + "\x11RegisterNamespace\x129.temporal.api.workflowservice.v1.RegisterNamespaceRequest\x1a:.temporal.api.workflowservice.v1.RegisterNamespaceResponse\"7\x82\xd3\xe4\x93\x021:\x01*Z\x17:\x01*\"\x12/api/v1/namespaces\"\x13/cluster/namespaces\x12\xd5\x01\n" + "\x11DescribeNamespace\x129.temporal.api.workflowservice.v1.DescribeNamespaceRequest\x1a:.temporal.api.workflowservice.v1.DescribeNamespaceResponse\"I\x82\xd3\xe4\x93\x02CZ \x12\x1e/api/v1/namespaces/{namespace}\x12\x1f/cluster/namespaces/{namespace}\x12\xb4\x01\n" + @@ -67,8 +68,8 @@ const file_temporal_api_workflowservice_v1_service_proto_rawDesc = "" + "\x1eRequestCancelWorkflowExecution\x12F.temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest\x1aG.temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionResponse\"\xf2\x01\x8a\x9d\xcc\x1bA\n" + "\x14temporal-resource-id\x12)workflow:{workflow_execution.workflow_id}\x82\xd3\xe4\x93\x02\xa5\x01:\x01*ZU:\x01*\"P/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel\"I/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel\x12\xad\x03\n" + "\x17SignalWorkflowExecution\x12?.temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.SignalWorkflowExecutionResponse\"\x8e\x02\x8a\x9d\xcc\x1bA\n" + - "\x14temporal-resource-id\x12)workflow:{workflow_execution.workflow_id}\x82\xd3\xe4\x93\x02\xc1\x01:\x01*Zc:\x01*\"^/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}\"W/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}\x12\xa5\x03\n" + - " SignalWithStartWorkflowExecution\x12H.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest\x1aI.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionResponse\"\xeb\x01\x8a\x9d\xcc\x1b.\n" + + "\x14temporal-resource-id\x12)workflow:{workflow_execution.workflow_id}\x82\xd3\xe4\x93\x02\xc1\x01:\x01*Zc:\x01*\"^/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}\"W/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}\x12\xb2\x03\n" + + " SignalWithStartWorkflowExecution\x12H.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest\x1aI.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionResponse\"\xf8\x01҂\x04\t\x12\aexposed\x8a\x9d\xcc\x1b.\n" + "\x14temporal-resource-id\x12\x16workflow:{workflow_id}\x82\xd3\xe4\x93\x02\xb1\x01:\x01*Z[:\x01*\"V/api/v1/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}\"O/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}\x12\x8c\x03\n" + "\x16ResetWorkflowExecution\x12>.temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.ResetWorkflowExecutionResponse\"\xf0\x01\x8a\x9d\xcc\x1bA\n" + "\x14temporal-resource-id\x12)workflow:{workflow_execution.workflow_id}\x82\xd3\xe4\x93\x02\xa3\x01:\x01*ZT:\x01*\"O/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset\"H/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset\x12\xa0\x03\n" + diff --git a/workflowservice/v1/workflowservicenexus/service_nexus.pb.go b/workflowservice/v1/workflowservicenexus/service_nexus.pb.go new file mode 100644 index 00000000..77388787 --- /dev/null +++ b/workflowservice/v1/workflowservicenexus/service_nexus.pb.go @@ -0,0 +1,16 @@ +// Code generated by nexus-rpc-gen. DO NOT EDIT. + +package workflowservicenexus + +import ( + "github.com/nexus-rpc/sdk-go/nexus" + v1 "go.temporal.io/api/workflowservice/v1" +) + +var WorkflowService = struct { + ServiceName string + SignalWithStartWorkflowExecution nexus.OperationReference[v1.SignalWithStartWorkflowExecutionRequest, v1.SignalWithStartWorkflowExecutionResponse] +}{ + ServiceName: "WorkflowService", + SignalWithStartWorkflowExecution: nexus.NewOperationReference[v1.SignalWithStartWorkflowExecutionRequest, v1.SignalWithStartWorkflowExecutionResponse]("SignalWithStartWorkflowExecution"), +}