You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eventmesh.apache.org by mi...@apache.org on 2022/09/12 13:53:15 UTC

[incubator-eventmesh] branch master updated: add workflow protocol

This is an automated email from the ASF dual-hosted git repository.

mikexue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-eventmesh.git


The following commit(s) were added to refs/heads/master by this push:
     new 87665bc2 add workflow protocol
     new f6aefd75 Merge pull request #1250 from walterlife/workflow-protocol
87665bc2 is described below

commit 87665bc27a6257ce5cccefb5d290ca95c09f2bfa
Author: walterlife <wa...@gmail.com>
AuthorDate: Fri Sep 9 20:22:32 2022 +0800

    add workflow protocol
---
 .../workflow/protos/EventmeshWorkflowGrpc.java     |  85 ++
 .../protocol/workflow/protos/ExecuteRequest.java   | 851 +++++++++++++++++++++
 .../workflow/protos/ExecuteRequestOrBuilder.java   |  63 ++
 .../protocol/workflow/protos/ExecuteResponse.java  | 575 ++++++++++++++
 .../workflow/protos/ExecuteResponseOrBuilder.java  |  39 +
 .../protocol/workflow/protos/WorkflowGrpc.java     | 294 +++++++
 6 files changed, 1907 insertions(+)

diff --git a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/EventmeshWorkflowGrpc.java b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/EventmeshWorkflowGrpc.java
new file mode 100644
index 00000000..dd396e64
--- /dev/null
+++ b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/EventmeshWorkflowGrpc.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: workflow.proto
+
+package org.apache.eventmesh.common.protocol.workflow.protos;
+
+@SuppressWarnings({"all"})
+public final class EventmeshWorkflowGrpc {
+  private EventmeshWorkflowGrpc() {}
+  public static void registerAllExtensions(
+      com.google.protobuf.ExtensionRegistryLite registry) {
+  }
+
+  public static void registerAllExtensions(
+      com.google.protobuf.ExtensionRegistry registry) {
+    registerAllExtensions(
+        (com.google.protobuf.ExtensionRegistryLite) registry);
+  }
+  static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_eventmesh_workflow_api_protocol_ExecuteRequest_descriptor;
+  static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_eventmesh_workflow_api_protocol_ExecuteRequest_fieldAccessorTable;
+  static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_eventmesh_workflow_api_protocol_ExecuteResponse_descriptor;
+  static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_eventmesh_workflow_api_protocol_ExecuteResponse_fieldAccessorTable;
+
+  public static com.google.protobuf.Descriptors.FileDescriptor
+      getDescriptor() {
+    return descriptor;
+  }
+  private static  com.google.protobuf.Descriptors.FileDescriptor
+      descriptor;
+  static {
+    String[] descriptorData = {
+      "\n\016workflow.proto\022\037eventmesh.workflow.api" +
+      ".protocol\"@\n\016ExecuteRequest\022\n\n\002id\030\001 \001(\t\022" +
+      "\023\n\013instance_id\030\002 \001(\t\022\r\n\005input\030\003 \001(\t\"&\n\017E" +
+      "xecuteResponse\022\023\n\013instance_id\030\001 \001(\t2z\n\010W" +
+      "orkflow\022n\n\007Execute\022/.eventmesh.workflow." +
+      "api.protocol.ExecuteRequest\0320.eventmesh." +
+      "workflow.api.protocol.ExecuteResponse\"\000B" +
+      "\226\001\n4org.apache.eventmesh.common.protocol" +
+      ".workflow.protosB\025EventmeshWorkflowGrpcP" +
+      "\001ZEgithub.com/apache/incubator-eventmesh" +
+      "/eventmesh-workflow-go/api/protob\006proto3"
+    };
+    descriptor = com.google.protobuf.Descriptors.FileDescriptor
+      .internalBuildGeneratedFileFrom(descriptorData,
+        new com.google.protobuf.Descriptors.FileDescriptor[] {
+        });
+    internal_static_eventmesh_workflow_api_protocol_ExecuteRequest_descriptor =
+      getDescriptor().getMessageTypes().get(0);
+    internal_static_eventmesh_workflow_api_protocol_ExecuteRequest_fieldAccessorTable = new
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_eventmesh_workflow_api_protocol_ExecuteRequest_descriptor,
+        new String[] { "Id", "InstanceId", "Input", });
+    internal_static_eventmesh_workflow_api_protocol_ExecuteResponse_descriptor =
+      getDescriptor().getMessageTypes().get(1);
+    internal_static_eventmesh_workflow_api_protocol_ExecuteResponse_fieldAccessorTable = new
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_eventmesh_workflow_api_protocol_ExecuteResponse_descriptor,
+        new String[] { "InstanceId", });
+  }
+
+  // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteRequest.java b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteRequest.java
new file mode 100644
index 00000000..b8b8f38e
--- /dev/null
+++ b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteRequest.java
@@ -0,0 +1,851 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: workflow.proto
+
+package org.apache.eventmesh.common.protocol.workflow.protos;
+
+/**
+ * Protobuf type {@code eventmesh.workflow.api.protocol.ExecuteRequest}
+ */
+@SuppressWarnings({"all"})
+public final class ExecuteRequest extends
+    com.google.protobuf.GeneratedMessageV3 implements
+    // @@protoc_insertion_point(message_implements:eventmesh.workflow.api.protocol.ExecuteRequest)
+    ExecuteRequestOrBuilder {
+private static final long serialVersionUID = 0L;
+  // Use ExecuteRequest.newBuilder() to construct.
+  private ExecuteRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    super(builder);
+  }
+  private ExecuteRequest() {
+    id_ = "";
+    instanceId_ = "";
+    input_ = "";
+  }
+
+  @Override
+  @SuppressWarnings({"unused"})
+  protected Object newInstance(
+      UnusedPrivateParameter unused) {
+    return new ExecuteRequest();
+  }
+
+  @Override
+  public final com.google.protobuf.UnknownFieldSet
+  getUnknownFields() {
+    return this.unknownFields;
+  }
+  private ExecuteRequest(
+      com.google.protobuf.CodedInputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    this();
+    if (extensionRegistry == null) {
+      throw new NullPointerException();
+    }
+    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+        com.google.protobuf.UnknownFieldSet.newBuilder();
+    try {
+      boolean done = false;
+      while (!done) {
+        int tag = input.readTag();
+        switch (tag) {
+          case 0:
+            done = true;
+            break;
+          case 10: {
+            String s = input.readStringRequireUtf8();
+
+            id_ = s;
+            break;
+          }
+          case 18: {
+            String s = input.readStringRequireUtf8();
+
+            instanceId_ = s;
+            break;
+          }
+          case 26: {
+            String s = input.readStringRequireUtf8();
+
+            input_ = s;
+            break;
+          }
+          default: {
+            if (!parseUnknownField(
+                input, unknownFields, extensionRegistry, tag)) {
+              done = true;
+            }
+            break;
+          }
+        }
+      }
+    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+      throw e.setUnfinishedMessage(this);
+    } catch (java.io.IOException e) {
+      throw new com.google.protobuf.InvalidProtocolBufferException(
+          e).setUnfinishedMessage(this);
+    } finally {
+      this.unknownFields = unknownFields.build();
+      makeExtensionsImmutable();
+    }
+  }
+  public static final com.google.protobuf.Descriptors.Descriptor
+      getDescriptor() {
+    return EventmeshWorkflowGrpc.internal_static_eventmesh_workflow_api_protocol_ExecuteRequest_descriptor;
+  }
+
+  @Override
+  protected FieldAccessorTable
+      internalGetFieldAccessorTable() {
+    return EventmeshWorkflowGrpc.internal_static_eventmesh_workflow_api_protocol_ExecuteRequest_fieldAccessorTable
+        .ensureFieldAccessorsInitialized(
+            ExecuteRequest.class, Builder.class);
+  }
+
+  public static final int ID_FIELD_NUMBER = 1;
+  private volatile Object id_;
+  /**
+   * <code>string id = 1;</code>
+   * @return The id.
+   */
+  @Override
+  public String getId() {
+    Object ref = id_;
+    if (ref instanceof String) {
+      return (String) ref;
+    } else {
+      com.google.protobuf.ByteString bs = 
+          (com.google.protobuf.ByteString) ref;
+      String s = bs.toStringUtf8();
+      id_ = s;
+      return s;
+    }
+  }
+  /**
+   * <code>string id = 1;</code>
+   * @return The bytes for id.
+   */
+  @Override
+  public com.google.protobuf.ByteString
+      getIdBytes() {
+    Object ref = id_;
+    if (ref instanceof String) {
+      com.google.protobuf.ByteString b = 
+          com.google.protobuf.ByteString.copyFromUtf8(
+              (String) ref);
+      id_ = b;
+      return b;
+    } else {
+      return (com.google.protobuf.ByteString) ref;
+    }
+  }
+
+  public static final int INSTANCE_ID_FIELD_NUMBER = 2;
+  private volatile Object instanceId_;
+  /**
+   * <code>string instance_id = 2;</code>
+   * @return The instanceId.
+   */
+  @Override
+  public String getInstanceId() {
+    Object ref = instanceId_;
+    if (ref instanceof String) {
+      return (String) ref;
+    } else {
+      com.google.protobuf.ByteString bs = 
+          (com.google.protobuf.ByteString) ref;
+      String s = bs.toStringUtf8();
+      instanceId_ = s;
+      return s;
+    }
+  }
+  /**
+   * <code>string instance_id = 2;</code>
+   * @return The bytes for instanceId.
+   */
+  @Override
+  public com.google.protobuf.ByteString
+      getInstanceIdBytes() {
+    Object ref = instanceId_;
+    if (ref instanceof String) {
+      com.google.protobuf.ByteString b = 
+          com.google.protobuf.ByteString.copyFromUtf8(
+              (String) ref);
+      instanceId_ = b;
+      return b;
+    } else {
+      return (com.google.protobuf.ByteString) ref;
+    }
+  }
+
+  public static final int INPUT_FIELD_NUMBER = 3;
+  private volatile Object input_;
+  /**
+   * <code>string input = 3;</code>
+   * @return The input.
+   */
+  @Override
+  public String getInput() {
+    Object ref = input_;
+    if (ref instanceof String) {
+      return (String) ref;
+    } else {
+      com.google.protobuf.ByteString bs = 
+          (com.google.protobuf.ByteString) ref;
+      String s = bs.toStringUtf8();
+      input_ = s;
+      return s;
+    }
+  }
+  /**
+   * <code>string input = 3;</code>
+   * @return The bytes for input.
+   */
+  @Override
+  public com.google.protobuf.ByteString
+      getInputBytes() {
+    Object ref = input_;
+    if (ref instanceof String) {
+      com.google.protobuf.ByteString b = 
+          com.google.protobuf.ByteString.copyFromUtf8(
+              (String) ref);
+      input_ = b;
+      return b;
+    } else {
+      return (com.google.protobuf.ByteString) ref;
+    }
+  }
+
+  private byte memoizedIsInitialized = -1;
+  @Override
+  public final boolean isInitialized() {
+    byte isInitialized = memoizedIsInitialized;
+    if (isInitialized == 1) return true;
+    if (isInitialized == 0) return false;
+
+    memoizedIsInitialized = 1;
+    return true;
+  }
+
+  @Override
+  public void writeTo(com.google.protobuf.CodedOutputStream output)
+                      throws java.io.IOException {
+    if (!getIdBytes().isEmpty()) {
+      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
+    }
+    if (!getInstanceIdBytes().isEmpty()) {
+      com.google.protobuf.GeneratedMessageV3.writeString(output, 2, instanceId_);
+    }
+    if (!getInputBytes().isEmpty()) {
+      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, input_);
+    }
+    unknownFields.writeTo(output);
+  }
+
+  @Override
+  public int getSerializedSize() {
+    int size = memoizedSize;
+    if (size != -1) return size;
+
+    size = 0;
+    if (!getIdBytes().isEmpty()) {
+      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
+    }
+    if (!getInstanceIdBytes().isEmpty()) {
+      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, instanceId_);
+    }
+    if (!getInputBytes().isEmpty()) {
+      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, input_);
+    }
+    size += unknownFields.getSerializedSize();
+    memoizedSize = size;
+    return size;
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    if (obj == this) {
+     return true;
+    }
+    if (!(obj instanceof ExecuteRequest)) {
+      return super.equals(obj);
+    }
+    ExecuteRequest other = (ExecuteRequest) obj;
+
+    if (!getId()
+        .equals(other.getId())) return false;
+    if (!getInstanceId()
+        .equals(other.getInstanceId())) return false;
+    if (!getInput()
+        .equals(other.getInput())) return false;
+    if (!unknownFields.equals(other.unknownFields)) return false;
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    if (memoizedHashCode != 0) {
+      return memoizedHashCode;
+    }
+    int hash = 41;
+    hash = (19 * hash) + getDescriptor().hashCode();
+    hash = (37 * hash) + ID_FIELD_NUMBER;
+    hash = (53 * hash) + getId().hashCode();
+    hash = (37 * hash) + INSTANCE_ID_FIELD_NUMBER;
+    hash = (53 * hash) + getInstanceId().hashCode();
+    hash = (37 * hash) + INPUT_FIELD_NUMBER;
+    hash = (53 * hash) + getInput().hashCode();
+    hash = (29 * hash) + unknownFields.hashCode();
+    memoizedHashCode = hash;
+    return hash;
+  }
+
+  public static ExecuteRequest parseFrom(
+      java.nio.ByteBuffer data)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+  public static ExecuteRequest parseFrom(
+      java.nio.ByteBuffer data,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+  public static ExecuteRequest parseFrom(
+      com.google.protobuf.ByteString data)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+  public static ExecuteRequest parseFrom(
+      com.google.protobuf.ByteString data,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+  public static ExecuteRequest parseFrom(byte[] data)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+  public static ExecuteRequest parseFrom(
+      byte[] data,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+  public static ExecuteRequest parseFrom(java.io.InputStream input)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input);
+  }
+  public static ExecuteRequest parseFrom(
+      java.io.InputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input, extensionRegistry);
+  }
+  public static ExecuteRequest parseDelimitedFrom(java.io.InputStream input)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseDelimitedWithIOException(PARSER, input);
+  }
+  public static ExecuteRequest parseDelimitedFrom(
+      java.io.InputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+  }
+  public static ExecuteRequest parseFrom(
+      com.google.protobuf.CodedInputStream input)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input);
+  }
+  public static ExecuteRequest parseFrom(
+      com.google.protobuf.CodedInputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input, extensionRegistry);
+  }
+
+  @Override
+  public Builder newBuilderForType() { return newBuilder(); }
+  public static Builder newBuilder() {
+    return DEFAULT_INSTANCE.toBuilder();
+  }
+  public static Builder newBuilder(ExecuteRequest prototype) {
+    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+  }
+  @Override
+  public Builder toBuilder() {
+    return this == DEFAULT_INSTANCE
+        ? new Builder() : new Builder().mergeFrom(this);
+  }
+
+  @Override
+  protected Builder newBuilderForType(
+      BuilderParent parent) {
+    Builder builder = new Builder(parent);
+    return builder;
+  }
+  /**
+   * Protobuf type {@code eventmesh.workflow.api.protocol.ExecuteRequest}
+   */
+  public static final class Builder extends
+      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+      // @@protoc_insertion_point(builder_implements:eventmesh.workflow.api.protocol.ExecuteRequest)
+      ExecuteRequestOrBuilder {
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return EventmeshWorkflowGrpc.internal_static_eventmesh_workflow_api_protocol_ExecuteRequest_descriptor;
+    }
+
+    @Override
+    protected FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return EventmeshWorkflowGrpc.internal_static_eventmesh_workflow_api_protocol_ExecuteRequest_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              ExecuteRequest.class, Builder.class);
+    }
+
+    // Construct using org.apache.eventmesh.common.protocol.workflow.protos.ExecuteRequest.newBuilder()
+    private Builder() {
+      maybeForceBuilderInitialization();
+    }
+
+    private Builder(
+        BuilderParent parent) {
+      super(parent);
+      maybeForceBuilderInitialization();
+    }
+    private void maybeForceBuilderInitialization() {
+      if (com.google.protobuf.GeneratedMessageV3
+              .alwaysUseFieldBuilders) {
+      }
+    }
+    @Override
+    public Builder clear() {
+      super.clear();
+      id_ = "";
+
+      instanceId_ = "";
+
+      input_ = "";
+
+      return this;
+    }
+
+    @Override
+    public com.google.protobuf.Descriptors.Descriptor
+        getDescriptorForType() {
+      return EventmeshWorkflowGrpc.internal_static_eventmesh_workflow_api_protocol_ExecuteRequest_descriptor;
+    }
+
+    @Override
+    public ExecuteRequest getDefaultInstanceForType() {
+      return ExecuteRequest.getDefaultInstance();
+    }
+
+    @Override
+    public ExecuteRequest build() {
+      ExecuteRequest result = buildPartial();
+      if (!result.isInitialized()) {
+        throw newUninitializedMessageException(result);
+      }
+      return result;
+    }
+
+    @Override
+    public ExecuteRequest buildPartial() {
+      ExecuteRequest result = new ExecuteRequest(this);
+      result.id_ = id_;
+      result.instanceId_ = instanceId_;
+      result.input_ = input_;
+      onBuilt();
+      return result;
+    }
+
+    @Override
+    public Builder clone() {
+      return super.clone();
+    }
+    @Override
+    public Builder setField(
+        com.google.protobuf.Descriptors.FieldDescriptor field,
+        Object value) {
+      return super.setField(field, value);
+    }
+    @Override
+    public Builder clearField(
+        com.google.protobuf.Descriptors.FieldDescriptor field) {
+      return super.clearField(field);
+    }
+    @Override
+    public Builder clearOneof(
+        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+      return super.clearOneof(oneof);
+    }
+    @Override
+    public Builder setRepeatedField(
+        com.google.protobuf.Descriptors.FieldDescriptor field,
+        int index, Object value) {
+      return super.setRepeatedField(field, index, value);
+    }
+    @Override
+    public Builder addRepeatedField(
+        com.google.protobuf.Descriptors.FieldDescriptor field,
+        Object value) {
+      return super.addRepeatedField(field, value);
+    }
+    @Override
+    public Builder mergeFrom(com.google.protobuf.Message other) {
+      if (other instanceof ExecuteRequest) {
+        return mergeFrom((ExecuteRequest)other);
+      } else {
+        super.mergeFrom(other);
+        return this;
+      }
+    }
+
+    public Builder mergeFrom(ExecuteRequest other) {
+      if (other == ExecuteRequest.getDefaultInstance()) return this;
+      if (!other.getId().isEmpty()) {
+        id_ = other.id_;
+        onChanged();
+      }
+      if (!other.getInstanceId().isEmpty()) {
+        instanceId_ = other.instanceId_;
+        onChanged();
+      }
+      if (!other.getInput().isEmpty()) {
+        input_ = other.input_;
+        onChanged();
+      }
+      this.mergeUnknownFields(other.unknownFields);
+      onChanged();
+      return this;
+    }
+
+    @Override
+    public final boolean isInitialized() {
+      return true;
+    }
+
+    @Override
+    public Builder mergeFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      ExecuteRequest parsedMessage = null;
+      try {
+        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        parsedMessage = (ExecuteRequest) e.getUnfinishedMessage();
+        throw e.unwrapIOException();
+      } finally {
+        if (parsedMessage != null) {
+          mergeFrom(parsedMessage);
+        }
+      }
+      return this;
+    }
+
+    private Object id_ = "";
+    /**
+     * <code>string id = 1;</code>
+     * @return The id.
+     */
+    public String getId() {
+      Object ref = id_;
+      if (!(ref instanceof String)) {
+        com.google.protobuf.ByteString bs =
+            (com.google.protobuf.ByteString) ref;
+        String s = bs.toStringUtf8();
+        id_ = s;
+        return s;
+      } else {
+        return (String) ref;
+      }
+    }
+    /**
+     * <code>string id = 1;</code>
+     * @return The bytes for id.
+     */
+    public com.google.protobuf.ByteString
+        getIdBytes() {
+      Object ref = id_;
+      if (ref instanceof String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (String) ref);
+        id_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+    /**
+     * <code>string id = 1;</code>
+     * @param value The id to set.
+     * @return This builder for chaining.
+     */
+    public Builder setId(
+        String value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  
+      id_ = value;
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>string id = 1;</code>
+     * @return This builder for chaining.
+     */
+    public Builder clearId() {
+      
+      id_ = getDefaultInstance().getId();
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>string id = 1;</code>
+     * @param value The bytes for id to set.
+     * @return This builder for chaining.
+     */
+    public Builder setIdBytes(
+        com.google.protobuf.ByteString value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+      
+      id_ = value;
+      onChanged();
+      return this;
+    }
+
+    private Object instanceId_ = "";
+    /**
+     * <code>string instance_id = 2;</code>
+     * @return The instanceId.
+     */
+    public String getInstanceId() {
+      Object ref = instanceId_;
+      if (!(ref instanceof String)) {
+        com.google.protobuf.ByteString bs =
+            (com.google.protobuf.ByteString) ref;
+        String s = bs.toStringUtf8();
+        instanceId_ = s;
+        return s;
+      } else {
+        return (String) ref;
+      }
+    }
+    /**
+     * <code>string instance_id = 2;</code>
+     * @return The bytes for instanceId.
+     */
+    public com.google.protobuf.ByteString
+        getInstanceIdBytes() {
+      Object ref = instanceId_;
+      if (ref instanceof String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (String) ref);
+        instanceId_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+    /**
+     * <code>string instance_id = 2;</code>
+     * @param value The instanceId to set.
+     * @return This builder for chaining.
+     */
+    public Builder setInstanceId(
+        String value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  
+      instanceId_ = value;
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>string instance_id = 2;</code>
+     * @return This builder for chaining.
+     */
+    public Builder clearInstanceId() {
+      
+      instanceId_ = getDefaultInstance().getInstanceId();
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>string instance_id = 2;</code>
+     * @param value The bytes for instanceId to set.
+     * @return This builder for chaining.
+     */
+    public Builder setInstanceIdBytes(
+        com.google.protobuf.ByteString value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+      
+      instanceId_ = value;
+      onChanged();
+      return this;
+    }
+
+    private Object input_ = "";
+    /**
+     * <code>string input = 3;</code>
+     * @return The input.
+     */
+    public String getInput() {
+      Object ref = input_;
+      if (!(ref instanceof String)) {
+        com.google.protobuf.ByteString bs =
+            (com.google.protobuf.ByteString) ref;
+        String s = bs.toStringUtf8();
+        input_ = s;
+        return s;
+      } else {
+        return (String) ref;
+      }
+    }
+    /**
+     * <code>string input = 3;</code>
+     * @return The bytes for input.
+     */
+    public com.google.protobuf.ByteString
+        getInputBytes() {
+      Object ref = input_;
+      if (ref instanceof String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (String) ref);
+        input_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+    /**
+     * <code>string input = 3;</code>
+     * @param value The input to set.
+     * @return This builder for chaining.
+     */
+    public Builder setInput(
+        String value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  
+      input_ = value;
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>string input = 3;</code>
+     * @return This builder for chaining.
+     */
+    public Builder clearInput() {
+      
+      input_ = getDefaultInstance().getInput();
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>string input = 3;</code>
+     * @param value The bytes for input to set.
+     * @return This builder for chaining.
+     */
+    public Builder setInputBytes(
+        com.google.protobuf.ByteString value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+      
+      input_ = value;
+      onChanged();
+      return this;
+    }
+    @Override
+    public final Builder setUnknownFields(
+        final com.google.protobuf.UnknownFieldSet unknownFields) {
+      return super.setUnknownFields(unknownFields);
+    }
+
+    @Override
+    public final Builder mergeUnknownFields(
+        final com.google.protobuf.UnknownFieldSet unknownFields) {
+      return super.mergeUnknownFields(unknownFields);
+    }
+
+
+    // @@protoc_insertion_point(builder_scope:eventmesh.workflow.api.protocol.ExecuteRequest)
+  }
+
+  // @@protoc_insertion_point(class_scope:eventmesh.workflow.api.protocol.ExecuteRequest)
+  private static final ExecuteRequest DEFAULT_INSTANCE;
+  static {
+    DEFAULT_INSTANCE = new ExecuteRequest();
+  }
+
+  public static ExecuteRequest getDefaultInstance() {
+    return DEFAULT_INSTANCE;
+  }
+
+  private static final com.google.protobuf.Parser<ExecuteRequest>
+      PARSER = new com.google.protobuf.AbstractParser<ExecuteRequest>() {
+    @Override
+    public ExecuteRequest parsePartialFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return new ExecuteRequest(input, extensionRegistry);
+    }
+  };
+
+  public static com.google.protobuf.Parser<ExecuteRequest> parser() {
+    return PARSER;
+  }
+
+  @Override
+  public com.google.protobuf.Parser<ExecuteRequest> getParserForType() {
+    return PARSER;
+  }
+
+  @Override
+  public ExecuteRequest getDefaultInstanceForType() {
+    return DEFAULT_INSTANCE;
+  }
+
+}
+
diff --git a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteRequestOrBuilder.java b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteRequestOrBuilder.java
new file mode 100644
index 00000000..c882835b
--- /dev/null
+++ b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteRequestOrBuilder.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: workflow.proto
+
+package org.apache.eventmesh.common.protocol.workflow.protos;
+
+@SuppressWarnings({"all"})
+public interface ExecuteRequestOrBuilder extends
+    // @@protoc_insertion_point(interface_extends:eventmesh.workflow.api.protocol.ExecuteRequest)
+    com.google.protobuf.MessageOrBuilder {
+
+  /**
+   * <code>string id = 1;</code>
+   * @return The id.
+   */
+  String getId();
+  /**
+   * <code>string id = 1;</code>
+   * @return The bytes for id.
+   */
+  com.google.protobuf.ByteString
+      getIdBytes();
+
+  /**
+   * <code>string instance_id = 2;</code>
+   * @return The instanceId.
+   */
+  String getInstanceId();
+  /**
+   * <code>string instance_id = 2;</code>
+   * @return The bytes for instanceId.
+   */
+  com.google.protobuf.ByteString
+      getInstanceIdBytes();
+
+  /**
+   * <code>string input = 3;</code>
+   * @return The input.
+   */
+  String getInput();
+  /**
+   * <code>string input = 3;</code>
+   * @return The bytes for input.
+   */
+  com.google.protobuf.ByteString
+      getInputBytes();
+}
diff --git a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteResponse.java b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteResponse.java
new file mode 100644
index 00000000..d3e5fd8b
--- /dev/null
+++ b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteResponse.java
@@ -0,0 +1,575 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: workflow.proto
+
+package org.apache.eventmesh.common.protocol.workflow.protos;
+
+/**
+ * Protobuf type {@code eventmesh.workflow.api.protocol.ExecuteResponse}
+ */
+@SuppressWarnings({"all"})
+public final class ExecuteResponse extends
+    com.google.protobuf.GeneratedMessageV3 implements
+    // @@protoc_insertion_point(message_implements:eventmesh.workflow.api.protocol.ExecuteResponse)
+    ExecuteResponseOrBuilder {
+private static final long serialVersionUID = 0L;
+  // Use ExecuteResponse.newBuilder() to construct.
+  private ExecuteResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    super(builder);
+  }
+  private ExecuteResponse() {
+    instanceId_ = "";
+  }
+
+  @Override
+  @SuppressWarnings({"unused"})
+  protected Object newInstance(
+      UnusedPrivateParameter unused) {
+    return new ExecuteResponse();
+  }
+
+  @Override
+  public final com.google.protobuf.UnknownFieldSet
+  getUnknownFields() {
+    return this.unknownFields;
+  }
+  private ExecuteResponse(
+      com.google.protobuf.CodedInputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    this();
+    if (extensionRegistry == null) {
+      throw new NullPointerException();
+    }
+    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+        com.google.protobuf.UnknownFieldSet.newBuilder();
+    try {
+      boolean done = false;
+      while (!done) {
+        int tag = input.readTag();
+        switch (tag) {
+          case 0:
+            done = true;
+            break;
+          case 10: {
+            String s = input.readStringRequireUtf8();
+
+            instanceId_ = s;
+            break;
+          }
+          default: {
+            if (!parseUnknownField(
+                input, unknownFields, extensionRegistry, tag)) {
+              done = true;
+            }
+            break;
+          }
+        }
+      }
+    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+      throw e.setUnfinishedMessage(this);
+    } catch (java.io.IOException e) {
+      throw new com.google.protobuf.InvalidProtocolBufferException(
+          e).setUnfinishedMessage(this);
+    } finally {
+      this.unknownFields = unknownFields.build();
+      makeExtensionsImmutable();
+    }
+  }
+  public static final com.google.protobuf.Descriptors.Descriptor
+      getDescriptor() {
+    return EventmeshWorkflowGrpc.internal_static_eventmesh_workflow_api_protocol_ExecuteResponse_descriptor;
+  }
+
+  @Override
+  protected FieldAccessorTable
+      internalGetFieldAccessorTable() {
+    return EventmeshWorkflowGrpc.internal_static_eventmesh_workflow_api_protocol_ExecuteResponse_fieldAccessorTable
+        .ensureFieldAccessorsInitialized(
+            ExecuteResponse.class, Builder.class);
+  }
+
+  public static final int INSTANCE_ID_FIELD_NUMBER = 1;
+  private volatile Object instanceId_;
+  /**
+   * <code>string instance_id = 1;</code>
+   * @return The instanceId.
+   */
+  @Override
+  public String getInstanceId() {
+    Object ref = instanceId_;
+    if (ref instanceof String) {
+      return (String) ref;
+    } else {
+      com.google.protobuf.ByteString bs = 
+          (com.google.protobuf.ByteString) ref;
+      String s = bs.toStringUtf8();
+      instanceId_ = s;
+      return s;
+    }
+  }
+  /**
+   * <code>string instance_id = 1;</code>
+   * @return The bytes for instanceId.
+   */
+  @Override
+  public com.google.protobuf.ByteString
+      getInstanceIdBytes() {
+    Object ref = instanceId_;
+    if (ref instanceof String) {
+      com.google.protobuf.ByteString b = 
+          com.google.protobuf.ByteString.copyFromUtf8(
+              (String) ref);
+      instanceId_ = b;
+      return b;
+    } else {
+      return (com.google.protobuf.ByteString) ref;
+    }
+  }
+
+  private byte memoizedIsInitialized = -1;
+  @Override
+  public final boolean isInitialized() {
+    byte isInitialized = memoizedIsInitialized;
+    if (isInitialized == 1) return true;
+    if (isInitialized == 0) return false;
+
+    memoizedIsInitialized = 1;
+    return true;
+  }
+
+  @Override
+  public void writeTo(com.google.protobuf.CodedOutputStream output)
+                      throws java.io.IOException {
+    if (!getInstanceIdBytes().isEmpty()) {
+      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, instanceId_);
+    }
+    unknownFields.writeTo(output);
+  }
+
+  @Override
+  public int getSerializedSize() {
+    int size = memoizedSize;
+    if (size != -1) return size;
+
+    size = 0;
+    if (!getInstanceIdBytes().isEmpty()) {
+      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, instanceId_);
+    }
+    size += unknownFields.getSerializedSize();
+    memoizedSize = size;
+    return size;
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    if (obj == this) {
+     return true;
+    }
+    if (!(obj instanceof ExecuteResponse)) {
+      return super.equals(obj);
+    }
+    ExecuteResponse other = (ExecuteResponse) obj;
+
+    if (!getInstanceId()
+        .equals(other.getInstanceId())) return false;
+    if (!unknownFields.equals(other.unknownFields)) return false;
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    if (memoizedHashCode != 0) {
+      return memoizedHashCode;
+    }
+    int hash = 41;
+    hash = (19 * hash) + getDescriptor().hashCode();
+    hash = (37 * hash) + INSTANCE_ID_FIELD_NUMBER;
+    hash = (53 * hash) + getInstanceId().hashCode();
+    hash = (29 * hash) + unknownFields.hashCode();
+    memoizedHashCode = hash;
+    return hash;
+  }
+
+  public static ExecuteResponse parseFrom(
+      java.nio.ByteBuffer data)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+  public static ExecuteResponse parseFrom(
+      java.nio.ByteBuffer data,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+  public static ExecuteResponse parseFrom(
+      com.google.protobuf.ByteString data)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+  public static ExecuteResponse parseFrom(
+      com.google.protobuf.ByteString data,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+  public static ExecuteResponse parseFrom(byte[] data)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+  public static ExecuteResponse parseFrom(
+      byte[] data,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+  public static ExecuteResponse parseFrom(java.io.InputStream input)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input);
+  }
+  public static ExecuteResponse parseFrom(
+      java.io.InputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input, extensionRegistry);
+  }
+  public static ExecuteResponse parseDelimitedFrom(java.io.InputStream input)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseDelimitedWithIOException(PARSER, input);
+  }
+  public static ExecuteResponse parseDelimitedFrom(
+      java.io.InputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+  }
+  public static ExecuteResponse parseFrom(
+      com.google.protobuf.CodedInputStream input)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input);
+  }
+  public static ExecuteResponse parseFrom(
+      com.google.protobuf.CodedInputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input, extensionRegistry);
+  }
+
+  @Override
+  public Builder newBuilderForType() { return newBuilder(); }
+  public static Builder newBuilder() {
+    return DEFAULT_INSTANCE.toBuilder();
+  }
+  public static Builder newBuilder(ExecuteResponse prototype) {
+    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+  }
+  @Override
+  public Builder toBuilder() {
+    return this == DEFAULT_INSTANCE
+        ? new Builder() : new Builder().mergeFrom(this);
+  }
+
+  @Override
+  protected Builder newBuilderForType(
+      BuilderParent parent) {
+    Builder builder = new Builder(parent);
+    return builder;
+  }
+  /**
+   * Protobuf type {@code eventmesh.workflow.api.protocol.ExecuteResponse}
+   */
+  public static final class Builder extends
+      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+      // @@protoc_insertion_point(builder_implements:eventmesh.workflow.api.protocol.ExecuteResponse)
+      ExecuteResponseOrBuilder {
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return EventmeshWorkflowGrpc.internal_static_eventmesh_workflow_api_protocol_ExecuteResponse_descriptor;
+    }
+
+    @Override
+    protected FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return EventmeshWorkflowGrpc.internal_static_eventmesh_workflow_api_protocol_ExecuteResponse_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              ExecuteResponse.class, Builder.class);
+    }
+
+    // Construct using org.apache.eventmesh.common.protocol.workflow.protos.ExecuteResponse.newBuilder()
+    private Builder() {
+      maybeForceBuilderInitialization();
+    }
+
+    private Builder(
+        BuilderParent parent) {
+      super(parent);
+      maybeForceBuilderInitialization();
+    }
+    private void maybeForceBuilderInitialization() {
+      if (com.google.protobuf.GeneratedMessageV3
+              .alwaysUseFieldBuilders) {
+      }
+    }
+    @Override
+    public Builder clear() {
+      super.clear();
+      instanceId_ = "";
+
+      return this;
+    }
+
+    @Override
+    public com.google.protobuf.Descriptors.Descriptor
+        getDescriptorForType() {
+      return EventmeshWorkflowGrpc.internal_static_eventmesh_workflow_api_protocol_ExecuteResponse_descriptor;
+    }
+
+    @Override
+    public ExecuteResponse getDefaultInstanceForType() {
+      return ExecuteResponse.getDefaultInstance();
+    }
+
+    @Override
+    public ExecuteResponse build() {
+      ExecuteResponse result = buildPartial();
+      if (!result.isInitialized()) {
+        throw newUninitializedMessageException(result);
+      }
+      return result;
+    }
+
+    @Override
+    public ExecuteResponse buildPartial() {
+      ExecuteResponse result = new ExecuteResponse(this);
+      result.instanceId_ = instanceId_;
+      onBuilt();
+      return result;
+    }
+
+    @Override
+    public Builder clone() {
+      return super.clone();
+    }
+    @Override
+    public Builder setField(
+        com.google.protobuf.Descriptors.FieldDescriptor field,
+        Object value) {
+      return super.setField(field, value);
+    }
+    @Override
+    public Builder clearField(
+        com.google.protobuf.Descriptors.FieldDescriptor field) {
+      return super.clearField(field);
+    }
+    @Override
+    public Builder clearOneof(
+        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+      return super.clearOneof(oneof);
+    }
+    @Override
+    public Builder setRepeatedField(
+        com.google.protobuf.Descriptors.FieldDescriptor field,
+        int index, Object value) {
+      return super.setRepeatedField(field, index, value);
+    }
+    @Override
+    public Builder addRepeatedField(
+        com.google.protobuf.Descriptors.FieldDescriptor field,
+        Object value) {
+      return super.addRepeatedField(field, value);
+    }
+    @Override
+    public Builder mergeFrom(com.google.protobuf.Message other) {
+      if (other instanceof ExecuteResponse) {
+        return mergeFrom((ExecuteResponse)other);
+      } else {
+        super.mergeFrom(other);
+        return this;
+      }
+    }
+
+    public Builder mergeFrom(ExecuteResponse other) {
+      if (other == ExecuteResponse.getDefaultInstance()) return this;
+      if (!other.getInstanceId().isEmpty()) {
+        instanceId_ = other.instanceId_;
+        onChanged();
+      }
+      this.mergeUnknownFields(other.unknownFields);
+      onChanged();
+      return this;
+    }
+
+    @Override
+    public final boolean isInitialized() {
+      return true;
+    }
+
+    @Override
+    public Builder mergeFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      ExecuteResponse parsedMessage = null;
+      try {
+        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        parsedMessage = (ExecuteResponse) e.getUnfinishedMessage();
+        throw e.unwrapIOException();
+      } finally {
+        if (parsedMessage != null) {
+          mergeFrom(parsedMessage);
+        }
+      }
+      return this;
+    }
+
+    private Object instanceId_ = "";
+    /**
+     * <code>string instance_id = 1;</code>
+     * @return The instanceId.
+     */
+    public String getInstanceId() {
+      Object ref = instanceId_;
+      if (!(ref instanceof String)) {
+        com.google.protobuf.ByteString bs =
+            (com.google.protobuf.ByteString) ref;
+        String s = bs.toStringUtf8();
+        instanceId_ = s;
+        return s;
+      } else {
+        return (String) ref;
+      }
+    }
+    /**
+     * <code>string instance_id = 1;</code>
+     * @return The bytes for instanceId.
+     */
+    public com.google.protobuf.ByteString
+        getInstanceIdBytes() {
+      Object ref = instanceId_;
+      if (ref instanceof String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (String) ref);
+        instanceId_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+    /**
+     * <code>string instance_id = 1;</code>
+     * @param value The instanceId to set.
+     * @return This builder for chaining.
+     */
+    public Builder setInstanceId(
+        String value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  
+      instanceId_ = value;
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>string instance_id = 1;</code>
+     * @return This builder for chaining.
+     */
+    public Builder clearInstanceId() {
+      
+      instanceId_ = getDefaultInstance().getInstanceId();
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>string instance_id = 1;</code>
+     * @param value The bytes for instanceId to set.
+     * @return This builder for chaining.
+     */
+    public Builder setInstanceIdBytes(
+        com.google.protobuf.ByteString value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+      
+      instanceId_ = value;
+      onChanged();
+      return this;
+    }
+    @Override
+    public final Builder setUnknownFields(
+        final com.google.protobuf.UnknownFieldSet unknownFields) {
+      return super.setUnknownFields(unknownFields);
+    }
+
+    @Override
+    public final Builder mergeUnknownFields(
+        final com.google.protobuf.UnknownFieldSet unknownFields) {
+      return super.mergeUnknownFields(unknownFields);
+    }
+
+
+    // @@protoc_insertion_point(builder_scope:eventmesh.workflow.api.protocol.ExecuteResponse)
+  }
+
+  // @@protoc_insertion_point(class_scope:eventmesh.workflow.api.protocol.ExecuteResponse)
+  private static final ExecuteResponse DEFAULT_INSTANCE;
+  static {
+    DEFAULT_INSTANCE = new ExecuteResponse();
+  }
+
+  public static ExecuteResponse getDefaultInstance() {
+    return DEFAULT_INSTANCE;
+  }
+
+  private static final com.google.protobuf.Parser<ExecuteResponse>
+      PARSER = new com.google.protobuf.AbstractParser<ExecuteResponse>() {
+    @Override
+    public ExecuteResponse parsePartialFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return new ExecuteResponse(input, extensionRegistry);
+    }
+  };
+
+  public static com.google.protobuf.Parser<ExecuteResponse> parser() {
+    return PARSER;
+  }
+
+  @Override
+  public com.google.protobuf.Parser<ExecuteResponse> getParserForType() {
+    return PARSER;
+  }
+
+  @Override
+  public ExecuteResponse getDefaultInstanceForType() {
+    return DEFAULT_INSTANCE;
+  }
+
+}
+
diff --git a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteResponseOrBuilder.java b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteResponseOrBuilder.java
new file mode 100644
index 00000000..160c32e6
--- /dev/null
+++ b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/ExecuteResponseOrBuilder.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: workflow.proto
+
+package org.apache.eventmesh.common.protocol.workflow.protos;
+
+@SuppressWarnings({"all"})
+public interface ExecuteResponseOrBuilder extends
+    // @@protoc_insertion_point(interface_extends:eventmesh.workflow.api.protocol.ExecuteResponse)
+    com.google.protobuf.MessageOrBuilder {
+
+  /**
+   * <code>string instance_id = 1;</code>
+   * @return The instanceId.
+   */
+  String getInstanceId();
+  /**
+   * <code>string instance_id = 1;</code>
+   * @return The bytes for instanceId.
+   */
+  com.google.protobuf.ByteString
+      getInstanceIdBytes();
+}
diff --git a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/WorkflowGrpc.java b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/WorkflowGrpc.java
new file mode 100644
index 00000000..c7bbffb0
--- /dev/null
+++ b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/workflow/protos/WorkflowGrpc.java
@@ -0,0 +1,294 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.eventmesh.common.protocol.workflow.protos;
+
+import static io.grpc.MethodDescriptor.generateFullMethodName;
+
+/**
+ */
+@javax.annotation.Generated(
+    value = "by gRPC proto compiler (version 1.49.1-SNAPSHOT)",
+    comments = "Source: workflow.proto")
+@io.grpc.stub.annotations.GrpcGenerated
+@SuppressWarnings({"all"})
+public final class WorkflowGrpc {
+
+  private WorkflowGrpc() {}
+
+  public static final String SERVICE_NAME = "eventmesh.workflow.api.protocol.Workflow";
+
+  // Static method descriptors that strictly reflect the proto.
+  private static volatile io.grpc.MethodDescriptor<ExecuteRequest,
+      ExecuteResponse> getExecuteMethod;
+
+  @io.grpc.stub.annotations.RpcMethod(
+      fullMethodName = SERVICE_NAME + '/' + "Execute",
+      requestType = ExecuteRequest.class,
+      responseType = ExecuteResponse.class,
+      methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
+  public static io.grpc.MethodDescriptor<ExecuteRequest,
+      ExecuteResponse> getExecuteMethod() {
+    io.grpc.MethodDescriptor<ExecuteRequest, ExecuteResponse> getExecuteMethod;
+    if ((getExecuteMethod = WorkflowGrpc.getExecuteMethod) == null) {
+      synchronized (WorkflowGrpc.class) {
+        if ((getExecuteMethod = WorkflowGrpc.getExecuteMethod) == null) {
+          WorkflowGrpc.getExecuteMethod = getExecuteMethod =
+              io.grpc.MethodDescriptor.<ExecuteRequest, ExecuteResponse>newBuilder()
+              .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
+              .setFullMethodName(generateFullMethodName(SERVICE_NAME, "Execute"))
+              .setSampledToLocalTracing(true)
+              .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+                  ExecuteRequest.getDefaultInstance()))
+              .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+                  ExecuteResponse.getDefaultInstance()))
+              .setSchemaDescriptor(new WorkflowMethodDescriptorSupplier("Execute"))
+              .build();
+        }
+      }
+    }
+    return getExecuteMethod;
+  }
+
+  /**
+   * Creates a new async stub that supports all call types for the service
+   */
+  public static WorkflowStub newStub(io.grpc.Channel channel) {
+    io.grpc.stub.AbstractStub.StubFactory<WorkflowStub> factory =
+      new io.grpc.stub.AbstractStub.StubFactory<WorkflowStub>() {
+        @Override
+        public WorkflowStub newStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) {
+          return new WorkflowStub(channel, callOptions);
+        }
+      };
+    return WorkflowStub.newStub(factory, channel);
+  }
+
+  /**
+   * Creates a new blocking-style stub that supports unary and streaming output calls on the service
+   */
+  public static WorkflowBlockingStub newBlockingStub(
+      io.grpc.Channel channel) {
+    io.grpc.stub.AbstractStub.StubFactory<WorkflowBlockingStub> factory =
+      new io.grpc.stub.AbstractStub.StubFactory<WorkflowBlockingStub>() {
+        @Override
+        public WorkflowBlockingStub newStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) {
+          return new WorkflowBlockingStub(channel, callOptions);
+        }
+      };
+    return WorkflowBlockingStub.newStub(factory, channel);
+  }
+
+  /**
+   * Creates a new ListenableFuture-style stub that supports unary calls on the service
+   */
+  public static WorkflowFutureStub newFutureStub(
+      io.grpc.Channel channel) {
+    io.grpc.stub.AbstractStub.StubFactory<WorkflowFutureStub> factory =
+      new io.grpc.stub.AbstractStub.StubFactory<WorkflowFutureStub>() {
+        @Override
+        public WorkflowFutureStub newStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) {
+          return new WorkflowFutureStub(channel, callOptions);
+        }
+      };
+    return WorkflowFutureStub.newStub(factory, channel);
+  }
+
+  /**
+   */
+  public static abstract class WorkflowImplBase implements io.grpc.BindableService {
+
+    /**
+     */
+    public void execute(ExecuteRequest request,
+                        io.grpc.stub.StreamObserver<ExecuteResponse> responseObserver) {
+      io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getExecuteMethod(), responseObserver);
+    }
+
+    @Override public final io.grpc.ServerServiceDefinition bindService() {
+      return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
+          .addMethod(
+            getExecuteMethod(),
+            io.grpc.stub.ServerCalls.asyncUnaryCall(
+              new MethodHandlers<
+                ExecuteRequest,
+                ExecuteResponse>(
+                  this, METHODID_EXECUTE)))
+          .build();
+    }
+  }
+
+  /**
+   */
+  public static final class WorkflowStub extends io.grpc.stub.AbstractAsyncStub<WorkflowStub> {
+    private WorkflowStub(
+        io.grpc.Channel channel, io.grpc.CallOptions callOptions) {
+      super(channel, callOptions);
+    }
+
+    @Override
+    protected WorkflowStub build(
+        io.grpc.Channel channel, io.grpc.CallOptions callOptions) {
+      return new WorkflowStub(channel, callOptions);
+    }
+
+    /**
+     */
+    public void execute(ExecuteRequest request,
+                        io.grpc.stub.StreamObserver<ExecuteResponse> responseObserver) {
+      io.grpc.stub.ClientCalls.asyncUnaryCall(
+          getChannel().newCall(getExecuteMethod(), getCallOptions()), request, responseObserver);
+    }
+  }
+
+  /**
+   */
+  public static final class WorkflowBlockingStub extends io.grpc.stub.AbstractBlockingStub<WorkflowBlockingStub> {
+    private WorkflowBlockingStub(
+        io.grpc.Channel channel, io.grpc.CallOptions callOptions) {
+      super(channel, callOptions);
+    }
+
+    @Override
+    protected WorkflowBlockingStub build(
+        io.grpc.Channel channel, io.grpc.CallOptions callOptions) {
+      return new WorkflowBlockingStub(channel, callOptions);
+    }
+
+    /**
+     */
+    public ExecuteResponse execute(ExecuteRequest request) {
+      return io.grpc.stub.ClientCalls.blockingUnaryCall(
+          getChannel(), getExecuteMethod(), getCallOptions(), request);
+    }
+  }
+
+  /**
+   */
+  public static final class WorkflowFutureStub extends io.grpc.stub.AbstractFutureStub<WorkflowFutureStub> {
+    private WorkflowFutureStub(
+        io.grpc.Channel channel, io.grpc.CallOptions callOptions) {
+      super(channel, callOptions);
+    }
+
+    @Override
+    protected WorkflowFutureStub build(
+        io.grpc.Channel channel, io.grpc.CallOptions callOptions) {
+      return new WorkflowFutureStub(channel, callOptions);
+    }
+
+    /**
+     */
+    public com.google.common.util.concurrent.ListenableFuture<ExecuteResponse> execute(
+        ExecuteRequest request) {
+      return io.grpc.stub.ClientCalls.futureUnaryCall(
+          getChannel().newCall(getExecuteMethod(), getCallOptions()), request);
+    }
+  }
+
+  private static final int METHODID_EXECUTE = 0;
+
+  private static final class MethodHandlers<Req, Resp> implements
+      io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
+      io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
+      io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
+      io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
+    private final WorkflowImplBase serviceImpl;
+    private final int methodId;
+
+    MethodHandlers(WorkflowImplBase serviceImpl, int methodId) {
+      this.serviceImpl = serviceImpl;
+      this.methodId = methodId;
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
+      switch (methodId) {
+        case METHODID_EXECUTE:
+          serviceImpl.execute((ExecuteRequest) request,
+              (io.grpc.stub.StreamObserver<ExecuteResponse>) responseObserver);
+          break;
+        default:
+          throw new AssertionError();
+      }
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public io.grpc.stub.StreamObserver<Req> invoke(
+        io.grpc.stub.StreamObserver<Resp> responseObserver) {
+      switch (methodId) {
+        default:
+          throw new AssertionError();
+      }
+    }
+  }
+
+  private static abstract class WorkflowBaseDescriptorSupplier
+      implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
+    WorkflowBaseDescriptorSupplier() {}
+
+    @Override
+    public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
+      return EventmeshWorkflowGrpc.getDescriptor();
+    }
+
+    @Override
+    public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() {
+      return getFileDescriptor().findServiceByName("Workflow");
+    }
+  }
+
+  private static final class WorkflowFileDescriptorSupplier
+      extends WorkflowBaseDescriptorSupplier {
+    WorkflowFileDescriptorSupplier() {}
+  }
+
+  private static final class WorkflowMethodDescriptorSupplier
+      extends WorkflowBaseDescriptorSupplier
+      implements io.grpc.protobuf.ProtoMethodDescriptorSupplier {
+    private final String methodName;
+
+    WorkflowMethodDescriptorSupplier(String methodName) {
+      this.methodName = methodName;
+    }
+
+    @Override
+    public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() {
+      return getServiceDescriptor().findMethodByName(methodName);
+    }
+  }
+
+  private static volatile io.grpc.ServiceDescriptor serviceDescriptor;
+
+  public static io.grpc.ServiceDescriptor getServiceDescriptor() {
+    io.grpc.ServiceDescriptor result = serviceDescriptor;
+    if (result == null) {
+      synchronized (WorkflowGrpc.class) {
+        result = serviceDescriptor;
+        if (result == null) {
+          serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
+              .setSchemaDescriptor(new WorkflowFileDescriptorSupplier())
+              .addMethod(getExecuteMethod())
+              .build();
+        }
+      }
+    }
+    return result;
+  }
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@eventmesh.apache.org
For additional commands, e-mail: commits-help@eventmesh.apache.org