Feat: Add workflow_run_external_id to trigger run ack proto (#3299)

* feat: add external id to runs entry

* chore: gen

* fix: python wiring

* chore: gen ts

* chore: version

* fix: wiring

* chore: changelog, version

* chore: gen
This commit is contained in:
matt
2026-03-17 09:53:48 -04:00
committed by GitHub
parent f988511a1f
commit a899c3216f
25 changed files with 1676 additions and 738 deletions
+1
View File
@@ -33,6 +33,7 @@ message DurableEventLogEntryRef {
message DurableTaskRunAckEntry {
int64 node_id = 1;
int64 branch_id = 2;
string workflow_run_external_id = 3;
}
message DurableTaskEventMemoAckResponse {
+1 -1
View File
@@ -6,7 +6,7 @@ package-mode = false
[tool.poetry.dependencies]
python = "^3.10"
hatchet-sdk = "^1.29.0"
hatchet-sdk = "^1.29.1"
# LLM integrations
openai = "^1.0.0"
anthropic = "^0.39.0"
+1 -1
View File
@@ -8,7 +8,7 @@
"lint:fix": "eslint . --fix"
},
"dependencies": {
"@hatchet-dev/typescript-sdk": "^1.17.0",
"@hatchet-dev/typescript-sdk": "^1.17.1",
"@anthropic-ai/sdk": "^0.32.1",
"@ai-sdk/openai": "^1.0.0",
"@browserbasehq/sdk": "^2.7.0",
+3 -2
View File
@@ -673,8 +673,9 @@ func (d *DispatcherServiceImpl) handleTriggerRuns(
for _, entry := range ingestionResult.TriggerRunsResult.Entries {
ackResp.RunEntries = append(ackResp.RunEntries, &contracts.DurableTaskRunAckEntry{
NodeId: entry.NodeId,
BranchId: entry.BranchId,
NodeId: entry.NodeId,
BranchId: entry.BranchId,
WorkflowRunExternalId: entry.WorkflowRunExternalId.String(),
})
}
+285 -274
View File
@@ -236,8 +236,9 @@ type DurableTaskRunAckEntry struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NodeId int64 `protobuf:"varint,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
BranchId int64 `protobuf:"varint,2,opt,name=branch_id,json=branchId,proto3" json:"branch_id,omitempty"`
NodeId int64 `protobuf:"varint,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
BranchId int64 `protobuf:"varint,2,opt,name=branch_id,json=branchId,proto3" json:"branch_id,omitempty"`
WorkflowRunExternalId string `protobuf:"bytes,3,opt,name=workflow_run_external_id,json=workflowRunExternalId,proto3" json:"workflow_run_external_id,omitempty"`
}
func (x *DurableTaskRunAckEntry) Reset() {
@@ -286,6 +287,13 @@ func (x *DurableTaskRunAckEntry) GetBranchId() int64 {
return 0
}
func (x *DurableTaskRunAckEntry) GetWorkflowRunExternalId() string {
if x != nil {
return x.WorkflowRunExternalId
}
return ""
}
type DurableTaskEventMemoAckResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -1725,283 +1733,286 @@ var file_v1_dispatcher_proto_rawDesc = []byte{
0x12, 0x1b, 0x0a, 0x09, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x03, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a,
0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x16, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6e, 0x41, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x72, 0x61,
0x6e, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x62, 0x72,
0x61, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x22, 0xcf, 0x01, 0x0a, 0x1f, 0x44, 0x75, 0x72, 0x61, 0x62,
0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x41,
0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x03, 0x72, 0x65,
0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x65, 0x6d,
0x6f, 0x5f, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6d, 0x65, 0x6d, 0x6f, 0x41, 0x6c, 0x72,
0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x13, 0x6d,
0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x44, 0x75, 0x72, 0x61, 0x62,
0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6e, 0x41, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x72,
0x61, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x62,
0x72, 0x61, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x52, 0x75, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64,
0x22, 0xcf, 0x01, 0x0a, 0x1f, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76,
0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x66, 0x52, 0x03,
0x72, 0x65, 0x66, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x61, 0x6c, 0x72, 0x65,
0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x08, 0x52, 0x12, 0x6d, 0x65, 0x6d, 0x6f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x45, 0x78,
0x69, 0x73, 0x74, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x13, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0c, 0x48, 0x00, 0x52, 0x11, 0x6d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d,
0x65, 0x6d, 0x6f, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f,
0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x11, 0x6d, 0x65, 0x6d, 0x6f,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01,
0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x26, 0x44, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69,
0x67, 0x67, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x73, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74,
0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10,
0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x5f, 0x65,
0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76,
0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6e,
0x41, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x45, 0x6e, 0x74,
0x72, 0x69, 0x65, 0x73, 0x22, 0x53, 0x0a, 0x22, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x41,
0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x03, 0x72, 0x65,
0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x74, 0x0a, 0x29, 0x44, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x66,
0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22,
0xaf, 0x01, 0x0a, 0x21, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45,
0x76, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x37, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b,
0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x15, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45,
0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f,
0x6e, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f,
0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x37, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f,
0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x15, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78,
0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x22, 0xbc, 0x01, 0x0a, 0x20, 0x44, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x77, 0x61, 0x69, 0x74, 0x65, 0x64, 0x43,
0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x37, 0x0a,
0x61, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x26, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x75,
0x6e, 0x73, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a,
0x18, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78,
0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x15, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68,
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63,
0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10,
0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9a, 0x01, 0x0a, 0x1c, 0x44, 0x75, 0x72, 0x61,
0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x76, 0x69,
0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61,
0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x75, 0x72, 0x61,
0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49,
0x64, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06,
0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65,
0x61, 0x73, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x1e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65,
0x54, 0x61, 0x73, 0x6b, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65,
0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b,
0x65, 0x72, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0f, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f,
0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x77,
0x61, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0e, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72,
0x69, 0x65, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x66,
0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12,
0x19, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0xb9, 0x01, 0x0a, 0x16, 0x44,
0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x37, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b,
0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x15, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45,
0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x07, 0x70,
0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07,
0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70,
0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x1d, 0x44, 0x75, 0x72, 0x61, 0x62,
0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x75, 0x6e,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74,
0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c,
0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57,
0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0b,
0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x19,
0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x46,
0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f,
0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x57, 0x0a,
0x13, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x31, 0x2e,
0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74,
0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00,
0x52, 0x11, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f,
0x66, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x90,
0x04, 0x0a, 0x12, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f,
0x72, 0x6b, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x48, 0x00, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x46, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67,
0x67, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x54,
0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x73,
0x12, 0x3a, 0x0a, 0x08, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x12, 0x52, 0x0a, 0x10,
0x65, 0x76, 0x69, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61,
0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
0x0f, 0x65, 0x76, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x49, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x77,
0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x63,
0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x07, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x22, 0xa7, 0x01, 0x0a, 0x18, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d,
0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31,
0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x37, 0x0a,
0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf8, 0x04, 0x0a, 0x13,
0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f,
0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76,
0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72,
0x6b, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57,
0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x61, 0x63,
0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x6d,
0x6f, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07,
0x6d, 0x65, 0x6d, 0x6f, 0x41, 0x63, 0x6b, 0x12, 0x56, 0x0a, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67,
0x65, 0x72, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x5f, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x75,
0x6e, 0x73, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
0x0e, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x73, 0x41, 0x63, 0x6b, 0x12,
0x4a, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x6b, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62,
0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x69, 0x74, 0x46,
0x6f, 0x72, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
0x0a, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x6b, 0x12, 0x58, 0x0a, 0x0f, 0x65,
0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70,
0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x47, 0x0a, 0x0c, 0x65,
0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28,
0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61,
0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6e, 0x41, 0x63, 0x6b, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x53,
0x0a, 0x22, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65,
0x6e, 0x74, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76,
0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x66, 0x52, 0x03,
0x72, 0x65, 0x66, 0x22, 0x74, 0x0a, 0x29, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x43,
0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x2d, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c,
0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12,
0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x21, 0x44, 0x75,
0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x69, 0x63, 0x74, 0x49, 0x6e,
0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x75,
0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72,
0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x75,
0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01,
0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x1e,
0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x69, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29,
0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e,
0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
0x49, 0x64, 0x22, 0xbc, 0x01, 0x0a, 0x20, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x41, 0x77, 0x61, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x62,
0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x75, 0x72, 0x61, 0x62,
0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64,
0x12, 0x1b, 0x0a, 0x09, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a,
0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x22, 0x9a, 0x01, 0x0a, 0x1c, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69,
0x63, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61,
0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x69,
0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x8c,
0x01, 0x0a, 0x1e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x57, 0x6f,
0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x4d,
0x0a, 0x0f, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x77, 0x61, 0x69, 0x74, 0x65, 0x64, 0x43,
0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x77,
0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x84, 0x01,
0x0a, 0x1e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d,
0x70, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2d, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c,
0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12,
0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65, 0x6d,
0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x6d,
0x6f, 0x4b, 0x65, 0x79, 0x22, 0xb9, 0x01, 0x0a, 0x16, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65,
0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x75,
0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72,
0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x75,
0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
0x6c, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x22, 0xc2, 0x01, 0x0a, 0x1d, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b,
0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e,
0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a,
0x18, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78,
0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x15, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
0x72, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76,
0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
0x72, 0x4f, 0x70, 0x74, 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x19, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69,
0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37,
0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65,
0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x15, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x74,
0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x13, 0x77, 0x61, 0x69, 0x74, 0x5f,
0x66, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c,
0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f,
0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x11, 0x77, 0x61, 0x69, 0x74,
0x46, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01,
0x42, 0x16, 0x0a, 0x14, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x6f,
0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x90, 0x04, 0x0a, 0x12, 0x44, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x4f, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b,
0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75,
0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x48, 0x00,
0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72,
0x12, 0x30, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4d,
0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x65,
0x6d, 0x6f, 0x12, 0x46, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x75,
0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75,
0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x74,
0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x77, 0x61,
0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76,
0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x57, 0x61, 0x69,
0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x77,
0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x12, 0x52, 0x0a, 0x10, 0x65, 0x76, 0x69, 0x63, 0x74, 0x5f,
0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x25, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x45, 0x76, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x76, 0x69, 0x63, 0x74,
0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0d, 0x77, 0x6f,
0x72, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x22, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x41, 0x63, 0x6b, 0x12, 0x45, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x65,
0x76, 0x69, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x31, 0x2e,
0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12,
0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x42,
0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45,
0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x75,
0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x22, 0x56, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x44,
0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x22, 0x5a, 0x0a, 0x0c, 0x44, 0x75,
0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61,
0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73,
0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x6b, 0x65,
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4b,
0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x6b, 0x0a, 0x14, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27,
0x0a, 0x23, 0x44, 0x55, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x45,
0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x44, 0x55, 0x52, 0x41, 0x42,
0x4c, 0x45, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x59,
0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x44, 0x45, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x49, 0x53,
0x4d, 0x10, 0x01, 0x32, 0x84, 0x02, 0x0a, 0x0c, 0x56, 0x31, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74,
0x63, 0x68, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0b, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x12, 0x16, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x76, 0x31,
0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x5b, 0x0a, 0x14, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65,
0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x65,
0x6e, 0x46, 0x6f, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74,
0x12, 0x20, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x44,
0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x10, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45,
0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x42, 0x5a, 0x40, 0x67, 0x69,
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x74, 0x63, 0x68, 0x65, 0x74,
0x2d, 0x64, 0x65, 0x76, 0x2f, 0x68, 0x61, 0x74, 0x63, 0x68, 0x65, 0x74, 0x2f, 0x69, 0x6e, 0x74,
0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73,
0x68, 0x61, 0x72, 0x65, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x73, 0x6b, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76,
0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d,
0x70, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f,
0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x18,
0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62,
0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x37, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72,
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x76, 0x31,
0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f,
0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65,
0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf8, 0x04, 0x0a, 0x13, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a,
0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61,
0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x48, 0x00, 0x52,
0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12,
0x40, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x23, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x41, 0x63, 0x6b, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x6f, 0x41, 0x63,
0x6b, 0x12, 0x56, 0x0a, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6e,
0x73, 0x5f, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x31,
0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e,
0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x73, 0x41, 0x63, 0x6b, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x72, 0x69, 0x67, 0x67,
0x65, 0x72, 0x52, 0x75, 0x6e, 0x73, 0x41, 0x63, 0x6b, 0x12, 0x4a, 0x0a, 0x0c, 0x77, 0x61, 0x69,
0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x26, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x6b, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x77, 0x61, 0x69, 0x74, 0x46,
0x6f, 0x72, 0x41, 0x63, 0x6b, 0x12, 0x58, 0x0a, 0x0f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63,
0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45,
0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70,
0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
0x0e, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12,
0x34, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x47, 0x0a, 0x0c, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x31,
0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x69, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
0x00, 0x52, 0x0b, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x6b, 0x12, 0x45,
0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x69, 0x63, 0x74, 0x18, 0x08,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74,
0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x45, 0x76, 0x69, 0x63, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x22, 0x99, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x75, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67,
0x6e, 0x61, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73,
0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76,
0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69,
0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x1e, 0x0a, 0x1c,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45,
0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x1c,
0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07,
0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74,
0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f,
0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61,
0x6c, 0x4b, 0x65, 0x79, 0x22, 0x5a, 0x0a, 0x0c, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45,
0x76, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a,
0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04,
0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
0x2a, 0x6b, 0x0a, 0x14, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x55, 0x52, 0x41,
0x42, 0x4c, 0x45, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
0x00, 0x12, 0x2a, 0x0a, 0x26, 0x44, 0x55, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x41, 0x53,
0x4b, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e,
0x44, 0x45, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x49, 0x53, 0x4d, 0x10, 0x01, 0x32, 0x84, 0x02,
0x0a, 0x0c, 0x56, 0x31, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x44,
0x0a, 0x0b, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x2e,
0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62,
0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
0x28, 0x01, 0x30, 0x01, 0x12, 0x5b, 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x76,
0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c,
0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62,
0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x00, 0x12, 0x51, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x44, 0x75,
0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x76, 0x31, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x76,
0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00,
0x28, 0x01, 0x30, 0x01, 0x42, 0x42, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x74, 0x63, 0x68, 0x65, 0x74, 0x2d, 0x64, 0x65, 0x76, 0x2f, 0x68,
0x61, 0x74, 0x63, 0x68, 0x65, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
+21 -10
View File
@@ -70,11 +70,12 @@ type IngestMemoResult struct {
}
type IngestTriggerRunsEntry struct {
NodeId int64
BranchId int64
IsSatisfied bool
AlreadyExisted bool
ResultPayload []byte
NodeId int64
BranchId int64
WorkflowRunExternalId uuid.UUID
IsSatisfied bool
AlreadyExisted bool
ResultPayload []byte
}
type IngestTriggerRunsResult struct {
@@ -955,12 +956,22 @@ func (r *durableEventsRepository) IngestDurableTaskEvent(ctx context.Context, op
entries := make([]*IngestTriggerRunsEntry, len(getOrCreateOpts.Entries))
for i, entry := range logEntries {
triggerOpts, ok := nodeIdBranchIdToTriggerOpts[NodeIdBranchIdTuple{
NodeId: entry.Entry.NodeID,
BranchId: entry.Entry.BranchID,
}]
if !ok {
return nil, fmt.Errorf("missing trigger opts for nodeId %d and branchId %d", entry.Entry.NodeID, entry.Entry.BranchID)
}
entries[i] = &IngestTriggerRunsEntry{
NodeId: entry.Entry.NodeID,
BranchId: entry.Entry.BranchID,
IsSatisfied: entry.Entry.IsSatisfied,
AlreadyExisted: entry.AlreadyExisted,
ResultPayload: entry.ResultPayload,
NodeId: entry.Entry.NodeID,
BranchId: entry.Entry.BranchID,
IsSatisfied: entry.Entry.IsSatisfied,
AlreadyExisted: entry.AlreadyExisted,
ResultPayload: entry.ResultPayload,
WorkflowRunExternalId: triggerOpts.ExternalId,
}
}
+6
View File
@@ -5,6 +5,12 @@ All notable changes to Hatchet's Python SDK will be documented in this changelog
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.29.1] - 2026-03-17
### Changed
- Updates the `DurableTaskRunAckEntry` model to include `workflow_run_external_id` field, to enable spawning children from durable tasks fire-and-forget style.
## [1.29.0] - 2026-03-16
### Added
@@ -76,6 +76,7 @@ class MaybeCachedMemoEntry(BaseModel):
class DurableTaskRunAckEntry(BaseModel):
node_id: int
branch_id: int
workflow_run_external_id: str
class DurableTaskEventRunAck(BaseModel):
@@ -371,6 +372,7 @@ class DurableEventListener:
DurableTaskRunAckEntry(
node_id=e.node_id,
branch_id=e.branch_id,
workflow_run_external_id=e.workflow_run_external_id,
)
for e in trigger_ack.run_entries
],
+16 -2
View File
@@ -4,6 +4,7 @@ import asyncio
import hashlib
import json
from collections.abc import Awaitable, Callable
from dataclasses import dataclass
from datetime import datetime, timedelta, timezone
from typing import TYPE_CHECKING, Any, ParamSpec, TypeVar, cast, overload
from warnings import warn
@@ -498,6 +499,14 @@ class Context:
return TaskRunError.deserialize(error)
@dataclass
class DurableSpawnResult:
node_id: int
branch_id: int
workflow_name: str
workflow_run_external_id: str
class DurableContext(Context):
def __init__(
self,
@@ -719,7 +728,7 @@ class DurableContext(Context):
async def _spawn_children_no_wait(
self,
configs: list[WorkflowRunTriggerConfig],
) -> list[tuple[int, int, str]]:
) -> list[DurableSpawnResult]:
listener = self._durable_listener
await self._ensure_stream_started()
@@ -743,7 +752,12 @@ class DurableContext(Context):
raise TypeError(f"Expected run ack, got {type(ack).__name__}")
return [
(entry.node_id, entry.branch_id, configs[i].workflow_name)
DurableSpawnResult(
node_id=entry.node_id,
branch_id=entry.branch_id,
workflow_name=configs[i].workflow_name,
workflow_run_external_id=entry.workflow_run_external_id,
)
for i, entry in enumerate(ack.run_entries)
]
File diff suppressed because one or more lines are too long
@@ -41,12 +41,14 @@ class DurableEventLogEntryRef(_message.Message):
def __init__(self, durable_task_external_id: _Optional[str] = ..., invocation_count: _Optional[int] = ..., branch_id: _Optional[int] = ..., node_id: _Optional[int] = ...) -> None: ...
class DurableTaskRunAckEntry(_message.Message):
__slots__ = ("node_id", "branch_id")
__slots__ = ("node_id", "branch_id", "workflow_run_external_id")
NODE_ID_FIELD_NUMBER: _ClassVar[int]
BRANCH_ID_FIELD_NUMBER: _ClassVar[int]
WORKFLOW_RUN_EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int]
node_id: int
branch_id: int
def __init__(self, node_id: _Optional[int] = ..., branch_id: _Optional[int] = ...) -> None: ...
workflow_run_external_id: str
def __init__(self, node_id: _Optional[int] = ..., branch_id: _Optional[int] = ..., workflow_run_external_id: _Optional[str] = ...) -> None: ...
class DurableTaskEventMemoAckResponse(_message.Message):
__slots__ = ("ref", "memo_already_existed", "memo_result_payload")
@@ -49,7 +49,7 @@ from hatchet_sdk.clients.events import (
EventClient,
PushEventOptions,
)
from hatchet_sdk.context.context import DurableContext
from hatchet_sdk.context.context import DurableContext, DurableSpawnResult
from hatchet_sdk.contracts.events_pb2 import Event
from hatchet_sdk.logger import logger
from hatchet_sdk.runnables.action import Action
@@ -783,11 +783,11 @@ class HatchetInstrumentor(BaseInstrumentor): # type: ignore[misc]
## IMPORTANT: Keep these types in sync with the wrapped method's signature
async def _wrap_spawn_children_no_wait(
self,
wrapped: Callable[..., Coroutine[None, None, list[tuple[int, int, str]]]],
wrapped: Callable[..., Coroutine[None, None, list[DurableSpawnResult]]],
instance: DurableContext,
args: tuple[Any, ...],
kwargs: dict[str, Any],
) -> list[tuple[int, int, str]]:
) -> list[DurableSpawnResult]:
params = self.extract_bound_args(wrapped, args, kwargs)
configs = cast(list[WorkflowRunTriggerConfig], params[0])
@@ -738,11 +738,11 @@ class Workflow(BaseWorkflow[TWorkflowInput]):
raise RuntimeError(
"Failed to spawn durable child workflow: no run references returned"
)
node_id, branch_id, workflow_name = refs[0]
return await durable_ctx._aio_result_for_spawned_child(
node_id=node_id,
branch_id=branch_id,
workflow_name=workflow_name,
node_id=refs[0].node_id,
branch_id=refs[0].branch_id,
workflow_name=refs[0].workflow_name,
)
ref = await self.aio_run_no_wait(input, options)
@@ -821,11 +821,11 @@ class Workflow(BaseWorkflow[TWorkflowInput]):
return await asyncio.gather(
*[
durable_ctx._aio_result_for_spawned_child(
node_id=node_id,
branch_id=branch_id,
workflow_name=workflow_name,
node_id=ref.node_id,
branch_id=ref.branch_id,
workflow_name=ref.workflow_name,
)
for node_id, branch_id, workflow_name in spawned_refs
for ref in spawned_refs
],
return_exceptions=return_exceptions,
)
+1 -1
View File
@@ -1,6 +1,6 @@
[tool.poetry]
name = "hatchet-sdk"
version = "1.29.0"
version = "1.29.1"
description = "This is the official Python SDK for Hatchet, a distributed, fault-tolerant task queue. The SDK allows you to easily integrate Hatchet's task scheduling and workflow orchestration capabilities into your Python applications."
authors = [
"Alexander Belanger <alexander@hatchet.run>",
+6
View File
@@ -5,6 +5,12 @@ All notable changes to Hatchet's TypeScript SDK will be documented in this chang
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.17.1] - 2026-03-17
### Changed
- Updates the `DurableTaskRunAckEntryResult` interface to include `workflowRunExternalId` field, to enable spawning children from durable tasks fire-and-forget style.
## [1.17.0] - 2026-03-16
### Added
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@hatchet-dev/typescript-sdk",
"version": "1.17.0",
"version": "1.17.1",
"description": "Background task orchestration & visibility for developers",
"types": "dist/index.d.ts",
"files": [
@@ -102,6 +102,7 @@ const WORKER_STATUS_POLL_INTERVAL_MS = 1000;
export interface DurableTaskRunAckEntryResult {
nodeId: number;
branchId: number;
workflowRunExternalId: string;
}
export interface DurableTaskEventRunAck {
@@ -431,6 +432,7 @@ export class DurableListenerClient {
runEntries: (ack.runEntries || []).map((e) => ({
nodeId: e.nodeId,
branchId: e.branchId,
workflowRunExternalId: e.workflowRunExternalId,
})),
});
this._pendingEventAcks.delete(key);
+428 -127
View File
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.7.7
// protoc-gen-ts_proto v2.11.4
// protoc v3.19.1
// source: dispatcher/dispatcher.proto
@@ -661,8 +661,16 @@ export const WorkerLabels: MessageFns<WorkerLabels> = {
fromJSON(object: any): WorkerLabels {
return {
strValue: isSet(object.strValue) ? globalThis.String(object.strValue) : undefined,
intValue: isSet(object.intValue) ? globalThis.Number(object.intValue) : undefined,
strValue: isSet(object.strValue)
? globalThis.String(object.strValue)
: isSet(object.str_value)
? globalThis.String(object.str_value)
: undefined,
intValue: isSet(object.intValue)
? globalThis.Number(object.intValue)
: isSet(object.int_value)
? globalThis.Number(object.int_value)
: undefined,
};
},
@@ -776,11 +784,17 @@ export const RuntimeInfo: MessageFns<RuntimeInfo> = {
fromJSON(object: any): RuntimeInfo {
return {
sdkVersion: isSet(object.sdkVersion) ? globalThis.String(object.sdkVersion) : undefined,
sdkVersion: isSet(object.sdkVersion)
? globalThis.String(object.sdkVersion)
: isSet(object.sdk_version)
? globalThis.String(object.sdk_version)
: undefined,
language: isSet(object.language) ? sDKSFromJSON(object.language) : undefined,
languageVersion: isSet(object.languageVersion)
? globalThis.String(object.languageVersion)
: undefined,
: isSet(object.language_version)
? globalThis.String(object.language_version)
: undefined,
os: isSet(object.os) ? globalThis.String(object.os) : undefined,
extra: isSet(object.extra) ? globalThis.String(object.extra) : undefined,
};
@@ -847,7 +861,7 @@ export const WorkerRegisterRequest: MessageFns<WorkerRegisterRequest> = {
if (message.slots !== undefined) {
writer.uint32(32).int32(message.slots);
}
Object.entries(message.labels).forEach(([key, value]) => {
globalThis.Object.entries(message.labels).forEach(([key, value]: [string, WorkerLabels]) => {
WorkerRegisterRequest_LabelsEntry.encode(
{ key: key as any, value },
writer.uint32(42).fork()
@@ -859,7 +873,7 @@ export const WorkerRegisterRequest: MessageFns<WorkerRegisterRequest> = {
if (message.runtimeInfo !== undefined) {
RuntimeInfo.encode(message.runtimeInfo, writer.uint32(58).fork()).join();
}
Object.entries(message.slotConfig).forEach(([key, value]) => {
globalThis.Object.entries(message.slotConfig).forEach(([key, value]: [string, number]) => {
WorkerRegisterRequest_SlotConfigEntry.encode(
{ key: key as any, value },
writer.uint32(74).fork()
@@ -956,7 +970,11 @@ export const WorkerRegisterRequest: MessageFns<WorkerRegisterRequest> = {
fromJSON(object: any): WorkerRegisterRequest {
return {
workerName: isSet(object.workerName) ? globalThis.String(object.workerName) : '',
workerName: isSet(object.workerName)
? globalThis.String(object.workerName)
: isSet(object.worker_name)
? globalThis.String(object.worker_name)
: '',
actions: globalThis.Array.isArray(object?.actions)
? object.actions.map((e: any) => globalThis.String(e))
: [],
@@ -965,25 +983,41 @@ export const WorkerRegisterRequest: MessageFns<WorkerRegisterRequest> = {
: [],
slots: isSet(object.slots) ? globalThis.Number(object.slots) : undefined,
labels: isObject(object.labels)
? Object.entries(object.labels).reduce<{ [key: string]: WorkerLabels }>(
(acc, [key, value]) => {
? (globalThis.Object.entries(object.labels) as [string, any][]).reduce(
(acc: { [key: string]: WorkerLabels }, [key, value]: [string, any]) => {
acc[key] = WorkerLabels.fromJSON(value);
return acc;
},
{}
)
: {},
webhookId: isSet(object.webhookId) ? globalThis.String(object.webhookId) : undefined,
runtimeInfo: isSet(object.runtimeInfo) ? RuntimeInfo.fromJSON(object.runtimeInfo) : undefined,
webhookId: isSet(object.webhookId)
? globalThis.String(object.webhookId)
: isSet(object.webhook_id)
? globalThis.String(object.webhook_id)
: undefined,
runtimeInfo: isSet(object.runtimeInfo)
? RuntimeInfo.fromJSON(object.runtimeInfo)
: isSet(object.runtime_info)
? RuntimeInfo.fromJSON(object.runtime_info)
: undefined,
slotConfig: isObject(object.slotConfig)
? Object.entries(object.slotConfig).reduce<{ [key: string]: number }>(
(acc, [key, value]) => {
acc[key] = Number(value);
? (globalThis.Object.entries(object.slotConfig) as [string, any][]).reduce(
(acc: { [key: string]: number }, [key, value]: [string, any]) => {
acc[key] = globalThis.Number(value);
return acc;
},
{}
)
: {},
: isObject(object.slot_config)
? (globalThis.Object.entries(object.slot_config) as [string, any][]).reduce(
(acc: { [key: string]: number }, [key, value]: [string, any]) => {
acc[key] = globalThis.Number(value);
return acc;
},
{}
)
: {},
};
},
@@ -1002,7 +1036,7 @@ export const WorkerRegisterRequest: MessageFns<WorkerRegisterRequest> = {
obj.slots = Math.round(message.slots);
}
if (message.labels) {
const entries = Object.entries(message.labels);
const entries = globalThis.Object.entries(message.labels) as [string, WorkerLabels][];
if (entries.length > 0) {
obj.labels = {};
entries.forEach(([k, v]) => {
@@ -1017,7 +1051,7 @@ export const WorkerRegisterRequest: MessageFns<WorkerRegisterRequest> = {
obj.runtimeInfo = RuntimeInfo.toJSON(message.runtimeInfo);
}
if (message.slotConfig) {
const entries = Object.entries(message.slotConfig);
const entries = globalThis.Object.entries(message.slotConfig) as [string, number][];
if (entries.length > 0) {
obj.slotConfig = {};
entries.forEach(([k, v]) => {
@@ -1037,29 +1071,27 @@ export const WorkerRegisterRequest: MessageFns<WorkerRegisterRequest> = {
message.actions = object.actions?.map((e) => e) || [];
message.services = object.services?.map((e) => e) || [];
message.slots = object.slots ?? undefined;
message.labels = Object.entries(object.labels ?? {}).reduce<{ [key: string]: WorkerLabels }>(
(acc, [key, value]) => {
if (value !== undefined) {
acc[key] = WorkerLabels.fromPartial(value);
}
return acc;
},
{}
);
message.labels = (
globalThis.Object.entries(object.labels ?? {}) as [string, WorkerLabels][]
).reduce((acc: { [key: string]: WorkerLabels }, [key, value]: [string, WorkerLabels]) => {
if (value !== undefined) {
acc[key] = WorkerLabels.fromPartial(value);
}
return acc;
}, {});
message.webhookId = object.webhookId ?? undefined;
message.runtimeInfo =
object.runtimeInfo !== undefined && object.runtimeInfo !== null
? RuntimeInfo.fromPartial(object.runtimeInfo)
: undefined;
message.slotConfig = Object.entries(object.slotConfig ?? {}).reduce<{ [key: string]: number }>(
(acc, [key, value]) => {
if (value !== undefined) {
acc[key] = globalThis.Number(value);
}
return acc;
},
{}
);
message.slotConfig = (
globalThis.Object.entries(object.slotConfig ?? {}) as [string, number][]
).reduce((acc: { [key: string]: number }, [key, value]: [string, number]) => {
if (value !== undefined) {
acc[key] = globalThis.Number(value);
}
return acc;
}, {});
return message;
},
};
@@ -1295,9 +1327,21 @@ export const WorkerRegisterResponse: MessageFns<WorkerRegisterResponse> = {
fromJSON(object: any): WorkerRegisterResponse {
return {
tenantId: isSet(object.tenantId) ? globalThis.String(object.tenantId) : '',
workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '',
workerName: isSet(object.workerName) ? globalThis.String(object.workerName) : '',
tenantId: isSet(object.tenantId)
? globalThis.String(object.tenantId)
: isSet(object.tenant_id)
? globalThis.String(object.tenant_id)
: '',
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
workerName: isSet(object.workerName)
? globalThis.String(object.workerName)
: isSet(object.worker_name)
? globalThis.String(object.worker_name)
: '',
};
},
@@ -1339,7 +1383,7 @@ export const UpsertWorkerLabelsRequest: MessageFns<UpsertWorkerLabelsRequest> =
if (message.workerId !== '') {
writer.uint32(10).string(message.workerId);
}
Object.entries(message.labels).forEach(([key, value]) => {
globalThis.Object.entries(message.labels).forEach(([key, value]: [string, WorkerLabels]) => {
UpsertWorkerLabelsRequest_LabelsEntry.encode(
{ key: key as any, value },
writer.uint32(18).fork()
@@ -1385,10 +1429,14 @@ export const UpsertWorkerLabelsRequest: MessageFns<UpsertWorkerLabelsRequest> =
fromJSON(object: any): UpsertWorkerLabelsRequest {
return {
workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '',
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
labels: isObject(object.labels)
? Object.entries(object.labels).reduce<{ [key: string]: WorkerLabels }>(
(acc, [key, value]) => {
? (globalThis.Object.entries(object.labels) as [string, any][]).reduce(
(acc: { [key: string]: WorkerLabels }, [key, value]: [string, any]) => {
acc[key] = WorkerLabels.fromJSON(value);
return acc;
},
@@ -1404,7 +1452,7 @@ export const UpsertWorkerLabelsRequest: MessageFns<UpsertWorkerLabelsRequest> =
obj.workerId = message.workerId;
}
if (message.labels) {
const entries = Object.entries(message.labels);
const entries = globalThis.Object.entries(message.labels) as [string, WorkerLabels][];
if (entries.length > 0) {
obj.labels = {};
entries.forEach(([k, v]) => {
@@ -1421,15 +1469,14 @@ export const UpsertWorkerLabelsRequest: MessageFns<UpsertWorkerLabelsRequest> =
fromPartial(object: DeepPartial<UpsertWorkerLabelsRequest>): UpsertWorkerLabelsRequest {
const message = createBaseUpsertWorkerLabelsRequest();
message.workerId = object.workerId ?? '';
message.labels = Object.entries(object.labels ?? {}).reduce<{ [key: string]: WorkerLabels }>(
(acc, [key, value]) => {
if (value !== undefined) {
acc[key] = WorkerLabels.fromPartial(value);
}
return acc;
},
{}
);
message.labels = (
globalThis.Object.entries(object.labels ?? {}) as [string, WorkerLabels][]
).reduce((acc: { [key: string]: WorkerLabels }, [key, value]: [string, WorkerLabels]) => {
if (value !== undefined) {
acc[key] = WorkerLabels.fromPartial(value);
}
return acc;
}, {});
return message;
},
};
@@ -1576,8 +1623,16 @@ export const UpsertWorkerLabelsResponse: MessageFns<UpsertWorkerLabelsResponse>
fromJSON(object: any): UpsertWorkerLabelsResponse {
return {
tenantId: isSet(object.tenantId) ? globalThis.String(object.tenantId) : '',
workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '',
tenantId: isSet(object.tenantId)
? globalThis.String(object.tenantId)
: isSet(object.tenant_id)
? globalThis.String(object.tenant_id)
: '',
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
};
},
@@ -1883,43 +1938,107 @@ export const AssignedAction: MessageFns<AssignedAction> = {
fromJSON(object: any): AssignedAction {
return {
tenantId: isSet(object.tenantId) ? globalThis.String(object.tenantId) : '',
workflowRunId: isSet(object.workflowRunId) ? globalThis.String(object.workflowRunId) : '',
tenantId: isSet(object.tenantId)
? globalThis.String(object.tenantId)
: isSet(object.tenant_id)
? globalThis.String(object.tenant_id)
: '',
workflowRunId: isSet(object.workflowRunId)
? globalThis.String(object.workflowRunId)
: isSet(object.workflow_run_id)
? globalThis.String(object.workflow_run_id)
: '',
getGroupKeyRunId: isSet(object.getGroupKeyRunId)
? globalThis.String(object.getGroupKeyRunId)
: '',
jobId: isSet(object.jobId) ? globalThis.String(object.jobId) : '',
jobName: isSet(object.jobName) ? globalThis.String(object.jobName) : '',
jobRunId: isSet(object.jobRunId) ? globalThis.String(object.jobRunId) : '',
taskId: isSet(object.taskId) ? globalThis.String(object.taskId) : '',
: isSet(object.get_group_key_run_id)
? globalThis.String(object.get_group_key_run_id)
: '',
jobId: isSet(object.jobId)
? globalThis.String(object.jobId)
: isSet(object.job_id)
? globalThis.String(object.job_id)
: '',
jobName: isSet(object.jobName)
? globalThis.String(object.jobName)
: isSet(object.job_name)
? globalThis.String(object.job_name)
: '',
jobRunId: isSet(object.jobRunId)
? globalThis.String(object.jobRunId)
: isSet(object.job_run_id)
? globalThis.String(object.job_run_id)
: '',
taskId: isSet(object.taskId)
? globalThis.String(object.taskId)
: isSet(object.task_id)
? globalThis.String(object.task_id)
: '',
taskRunExternalId: isSet(object.taskRunExternalId)
? globalThis.String(object.taskRunExternalId)
: '',
actionId: isSet(object.actionId) ? globalThis.String(object.actionId) : '',
actionType: isSet(object.actionType) ? actionTypeFromJSON(object.actionType) : 0,
actionPayload: isSet(object.actionPayload) ? globalThis.String(object.actionPayload) : '',
taskName: isSet(object.taskName) ? globalThis.String(object.taskName) : '',
retryCount: isSet(object.retryCount) ? globalThis.Number(object.retryCount) : 0,
: isSet(object.task_run_external_id)
? globalThis.String(object.task_run_external_id)
: '',
actionId: isSet(object.actionId)
? globalThis.String(object.actionId)
: isSet(object.action_id)
? globalThis.String(object.action_id)
: '',
actionType: isSet(object.actionType)
? actionTypeFromJSON(object.actionType)
: isSet(object.action_type)
? actionTypeFromJSON(object.action_type)
: 0,
actionPayload: isSet(object.actionPayload)
? globalThis.String(object.actionPayload)
: isSet(object.action_payload)
? globalThis.String(object.action_payload)
: '',
taskName: isSet(object.taskName)
? globalThis.String(object.taskName)
: isSet(object.task_name)
? globalThis.String(object.task_name)
: '',
retryCount: isSet(object.retryCount)
? globalThis.Number(object.retryCount)
: isSet(object.retry_count)
? globalThis.Number(object.retry_count)
: 0,
additionalMetadata: isSet(object.additionalMetadata)
? globalThis.String(object.additionalMetadata)
: undefined,
: isSet(object.additional_metadata)
? globalThis.String(object.additional_metadata)
: undefined,
childWorkflowIndex: isSet(object.childWorkflowIndex)
? globalThis.Number(object.childWorkflowIndex)
: undefined,
: isSet(object.child_workflow_index)
? globalThis.Number(object.child_workflow_index)
: undefined,
childWorkflowKey: isSet(object.childWorkflowKey)
? globalThis.String(object.childWorkflowKey)
: undefined,
: isSet(object.child_workflow_key)
? globalThis.String(object.child_workflow_key)
: undefined,
parentWorkflowRunId: isSet(object.parentWorkflowRunId)
? globalThis.String(object.parentWorkflowRunId)
: undefined,
: isSet(object.parent_workflow_run_id)
? globalThis.String(object.parent_workflow_run_id)
: undefined,
priority: isSet(object.priority) ? globalThis.Number(object.priority) : 0,
workflowId: isSet(object.workflowId) ? globalThis.String(object.workflowId) : undefined,
workflowId: isSet(object.workflowId)
? globalThis.String(object.workflowId)
: isSet(object.workflow_id)
? globalThis.String(object.workflow_id)
: undefined,
workflowVersionId: isSet(object.workflowVersionId)
? globalThis.String(object.workflowVersionId)
: undefined,
: isSet(object.workflow_version_id)
? globalThis.String(object.workflow_version_id)
: undefined,
durableTaskInvocationCount: isSet(object.durableTaskInvocationCount)
? globalThis.Number(object.durableTaskInvocationCount)
: undefined,
: isSet(object.durable_task_invocation_count)
? globalThis.Number(object.durable_task_invocation_count)
: undefined,
};
},
@@ -2058,7 +2177,13 @@ export const WorkerListenRequest: MessageFns<WorkerListenRequest> = {
},
fromJSON(object: any): WorkerListenRequest {
return { workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '' };
return {
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
};
},
toJSON(message: WorkerListenRequest): unknown {
@@ -2119,7 +2244,13 @@ export const WorkerUnsubscribeRequest: MessageFns<WorkerUnsubscribeRequest> = {
},
fromJSON(object: any): WorkerUnsubscribeRequest {
return { workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '' };
return {
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
};
},
toJSON(message: WorkerUnsubscribeRequest): unknown {
@@ -2192,8 +2323,16 @@ export const WorkerUnsubscribeResponse: MessageFns<WorkerUnsubscribeResponse> =
fromJSON(object: any): WorkerUnsubscribeResponse {
return {
tenantId: isSet(object.tenantId) ? globalThis.String(object.tenantId) : '',
workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '',
tenantId: isSet(object.tenantId)
? globalThis.String(object.tenantId)
: isSet(object.tenant_id)
? globalThis.String(object.tenant_id)
: '',
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
};
},
@@ -2331,17 +2470,41 @@ export const GroupKeyActionEvent: MessageFns<GroupKeyActionEvent> = {
fromJSON(object: any): GroupKeyActionEvent {
return {
workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '',
workflowRunId: isSet(object.workflowRunId) ? globalThis.String(object.workflowRunId) : '',
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
workflowRunId: isSet(object.workflowRunId)
? globalThis.String(object.workflowRunId)
: isSet(object.workflow_run_id)
? globalThis.String(object.workflow_run_id)
: '',
getGroupKeyRunId: isSet(object.getGroupKeyRunId)
? globalThis.String(object.getGroupKeyRunId)
: '',
actionId: isSet(object.actionId) ? globalThis.String(object.actionId) : '',
: isSet(object.get_group_key_run_id)
? globalThis.String(object.get_group_key_run_id)
: '',
actionId: isSet(object.actionId)
? globalThis.String(object.actionId)
: isSet(object.action_id)
? globalThis.String(object.action_id)
: '',
eventTimestamp: isSet(object.eventTimestamp)
? fromJsonTimestamp(object.eventTimestamp)
: undefined,
eventType: isSet(object.eventType) ? groupKeyActionEventTypeFromJSON(object.eventType) : 0,
eventPayload: isSet(object.eventPayload) ? globalThis.String(object.eventPayload) : '',
: isSet(object.event_timestamp)
? fromJsonTimestamp(object.event_timestamp)
: undefined,
eventType: isSet(object.eventType)
? groupKeyActionEventTypeFromJSON(object.eventType)
: isSet(object.event_type)
? groupKeyActionEventTypeFromJSON(object.event_type)
: 0,
eventPayload: isSet(object.eventPayload)
? globalThis.String(object.eventPayload)
: isSet(object.event_payload)
? globalThis.String(object.event_payload)
: '',
};
},
@@ -2547,23 +2710,61 @@ export const StepActionEvent: MessageFns<StepActionEvent> = {
fromJSON(object: any): StepActionEvent {
return {
workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '',
jobId: isSet(object.jobId) ? globalThis.String(object.jobId) : '',
jobRunId: isSet(object.jobRunId) ? globalThis.String(object.jobRunId) : '',
taskId: isSet(object.taskId) ? globalThis.String(object.taskId) : '',
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
jobId: isSet(object.jobId)
? globalThis.String(object.jobId)
: isSet(object.job_id)
? globalThis.String(object.job_id)
: '',
jobRunId: isSet(object.jobRunId)
? globalThis.String(object.jobRunId)
: isSet(object.job_run_id)
? globalThis.String(object.job_run_id)
: '',
taskId: isSet(object.taskId)
? globalThis.String(object.taskId)
: isSet(object.task_id)
? globalThis.String(object.task_id)
: '',
taskRunExternalId: isSet(object.taskRunExternalId)
? globalThis.String(object.taskRunExternalId)
: '',
actionId: isSet(object.actionId) ? globalThis.String(object.actionId) : '',
: isSet(object.task_run_external_id)
? globalThis.String(object.task_run_external_id)
: '',
actionId: isSet(object.actionId)
? globalThis.String(object.actionId)
: isSet(object.action_id)
? globalThis.String(object.action_id)
: '',
eventTimestamp: isSet(object.eventTimestamp)
? fromJsonTimestamp(object.eventTimestamp)
: undefined,
eventType: isSet(object.eventType) ? stepActionEventTypeFromJSON(object.eventType) : 0,
eventPayload: isSet(object.eventPayload) ? globalThis.String(object.eventPayload) : '',
retryCount: isSet(object.retryCount) ? globalThis.Number(object.retryCount) : undefined,
: isSet(object.event_timestamp)
? fromJsonTimestamp(object.event_timestamp)
: undefined,
eventType: isSet(object.eventType)
? stepActionEventTypeFromJSON(object.eventType)
: isSet(object.event_type)
? stepActionEventTypeFromJSON(object.event_type)
: 0,
eventPayload: isSet(object.eventPayload)
? globalThis.String(object.eventPayload)
: isSet(object.event_payload)
? globalThis.String(object.event_payload)
: '',
retryCount: isSet(object.retryCount)
? globalThis.Number(object.retryCount)
: isSet(object.retry_count)
? globalThis.Number(object.retry_count)
: undefined,
shouldNotRetry: isSet(object.shouldNotRetry)
? globalThis.Boolean(object.shouldNotRetry)
: undefined,
: isSet(object.should_not_retry)
? globalThis.Boolean(object.should_not_retry)
: undefined,
};
},
@@ -2674,8 +2875,16 @@ export const ActionEventResponse: MessageFns<ActionEventResponse> = {
fromJSON(object: any): ActionEventResponse {
return {
tenantId: isSet(object.tenantId) ? globalThis.String(object.tenantId) : '',
workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '',
tenantId: isSet(object.tenantId)
? globalThis.String(object.tenantId)
: isSet(object.tenant_id)
? globalThis.String(object.tenant_id)
: '',
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
};
},
@@ -2766,13 +2975,19 @@ export const SubscribeToWorkflowEventsRequest: MessageFns<SubscribeToWorkflowEve
return {
workflowRunId: isSet(object.workflowRunId)
? globalThis.String(object.workflowRunId)
: undefined,
: isSet(object.workflow_run_id)
? globalThis.String(object.workflow_run_id)
: undefined,
additionalMetaKey: isSet(object.additionalMetaKey)
? globalThis.String(object.additionalMetaKey)
: undefined,
: isSet(object.additional_meta_key)
? globalThis.String(object.additional_meta_key)
: undefined,
additionalMetaValue: isSet(object.additionalMetaValue)
? globalThis.String(object.additionalMetaValue)
: undefined,
: isSet(object.additional_meta_value)
? globalThis.String(object.additional_meta_value)
: undefined,
};
},
@@ -2845,7 +3060,11 @@ export const SubscribeToWorkflowRunsRequest: MessageFns<SubscribeToWorkflowRunsR
fromJSON(object: any): SubscribeToWorkflowRunsRequest {
return {
workflowRunId: isSet(object.workflowRunId) ? globalThis.String(object.workflowRunId) : '',
workflowRunId: isSet(object.workflowRunId)
? globalThis.String(object.workflowRunId)
: isSet(object.workflow_run_id)
? globalThis.String(object.workflow_run_id)
: '',
};
},
@@ -3015,18 +3234,52 @@ export const WorkflowEvent: MessageFns<WorkflowEvent> = {
fromJSON(object: any): WorkflowEvent {
return {
workflowRunId: isSet(object.workflowRunId) ? globalThis.String(object.workflowRunId) : '',
resourceType: isSet(object.resourceType) ? resourceTypeFromJSON(object.resourceType) : 0,
eventType: isSet(object.eventType) ? resourceEventTypeFromJSON(object.eventType) : 0,
resourceId: isSet(object.resourceId) ? globalThis.String(object.resourceId) : '',
workflowRunId: isSet(object.workflowRunId)
? globalThis.String(object.workflowRunId)
: isSet(object.workflow_run_id)
? globalThis.String(object.workflow_run_id)
: '',
resourceType: isSet(object.resourceType)
? resourceTypeFromJSON(object.resourceType)
: isSet(object.resource_type)
? resourceTypeFromJSON(object.resource_type)
: 0,
eventType: isSet(object.eventType)
? resourceEventTypeFromJSON(object.eventType)
: isSet(object.event_type)
? resourceEventTypeFromJSON(object.event_type)
: 0,
resourceId: isSet(object.resourceId)
? globalThis.String(object.resourceId)
: isSet(object.resource_id)
? globalThis.String(object.resource_id)
: '',
eventTimestamp: isSet(object.eventTimestamp)
? fromJsonTimestamp(object.eventTimestamp)
: undefined,
eventPayload: isSet(object.eventPayload) ? globalThis.String(object.eventPayload) : '',
: isSet(object.event_timestamp)
? fromJsonTimestamp(object.event_timestamp)
: undefined,
eventPayload: isSet(object.eventPayload)
? globalThis.String(object.eventPayload)
: isSet(object.event_payload)
? globalThis.String(object.event_payload)
: '',
hangup: isSet(object.hangup) ? globalThis.Boolean(object.hangup) : false,
taskRetries: isSet(object.taskRetries) ? globalThis.Number(object.taskRetries) : undefined,
retryCount: isSet(object.retryCount) ? globalThis.Number(object.retryCount) : undefined,
eventIndex: isSet(object.eventIndex) ? globalThis.Number(object.eventIndex) : undefined,
taskRetries: isSet(object.taskRetries)
? globalThis.Number(object.taskRetries)
: isSet(object.task_retries)
? globalThis.Number(object.task_retries)
: undefined,
retryCount: isSet(object.retryCount)
? globalThis.Number(object.retryCount)
: isSet(object.retry_count)
? globalThis.Number(object.retry_count)
: undefined,
eventIndex: isSet(object.eventIndex)
? globalThis.Number(object.eventIndex)
: isSet(object.event_index)
? globalThis.Number(object.event_index)
: undefined,
};
},
@@ -3155,11 +3408,21 @@ export const WorkflowRunEvent: MessageFns<WorkflowRunEvent> = {
fromJSON(object: any): WorkflowRunEvent {
return {
workflowRunId: isSet(object.workflowRunId) ? globalThis.String(object.workflowRunId) : '',
eventType: isSet(object.eventType) ? workflowRunEventTypeFromJSON(object.eventType) : 0,
workflowRunId: isSet(object.workflowRunId)
? globalThis.String(object.workflowRunId)
: isSet(object.workflow_run_id)
? globalThis.String(object.workflow_run_id)
: '',
eventType: isSet(object.eventType)
? workflowRunEventTypeFromJSON(object.eventType)
: isSet(object.event_type)
? workflowRunEventTypeFromJSON(object.event_type)
: 0,
eventTimestamp: isSet(object.eventTimestamp)
? fromJsonTimestamp(object.eventTimestamp)
: undefined,
: isSet(object.event_timestamp)
? fromJsonTimestamp(object.event_timestamp)
: undefined,
results: globalThis.Array.isArray(object?.results)
? object.results.map((e: any) => StepRunResult.fromJSON(e))
: [],
@@ -3280,9 +3543,19 @@ export const StepRunResult: MessageFns<StepRunResult> = {
return {
taskRunExternalId: isSet(object.taskRunExternalId)
? globalThis.String(object.taskRunExternalId)
: '',
taskName: isSet(object.taskName) ? globalThis.String(object.taskName) : '',
jobRunId: isSet(object.jobRunId) ? globalThis.String(object.jobRunId) : '',
: isSet(object.task_run_external_id)
? globalThis.String(object.task_run_external_id)
: '',
taskName: isSet(object.taskName)
? globalThis.String(object.taskName)
: isSet(object.task_name)
? globalThis.String(object.task_name)
: '',
jobRunId: isSet(object.jobRunId)
? globalThis.String(object.jobRunId)
: isSet(object.job_run_id)
? globalThis.String(object.job_run_id)
: '',
error: isSet(object.error) ? globalThis.String(object.error) : undefined,
output: isSet(object.output) ? globalThis.String(object.output) : undefined,
};
@@ -3395,10 +3668,16 @@ export const OverridesData: MessageFns<OverridesData> = {
return {
taskRunExternalId: isSet(object.taskRunExternalId)
? globalThis.String(object.taskRunExternalId)
: '',
: isSet(object.task_run_external_id)
? globalThis.String(object.task_run_external_id)
: '',
path: isSet(object.path) ? globalThis.String(object.path) : '',
value: isSet(object.value) ? globalThis.String(object.value) : '',
callerFilename: isSet(object.callerFilename) ? globalThis.String(object.callerFilename) : '',
callerFilename: isSet(object.callerFilename)
? globalThis.String(object.callerFilename)
: isSet(object.caller_filename)
? globalThis.String(object.caller_filename)
: '',
};
},
@@ -3524,8 +3803,16 @@ export const HeartbeatRequest: MessageFns<HeartbeatRequest> = {
fromJSON(object: any): HeartbeatRequest {
return {
workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '',
heartbeatAt: isSet(object.heartbeatAt) ? fromJsonTimestamp(object.heartbeatAt) : undefined,
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
heartbeatAt: isSet(object.heartbeatAt)
? fromJsonTimestamp(object.heartbeatAt)
: isSet(object.heartbeat_at)
? fromJsonTimestamp(object.heartbeat_at)
: undefined,
};
},
@@ -3645,10 +3932,14 @@ export const RefreshTimeoutRequest: MessageFns<RefreshTimeoutRequest> = {
return {
taskRunExternalId: isSet(object.taskRunExternalId)
? globalThis.String(object.taskRunExternalId)
: '',
: isSet(object.task_run_external_id)
? globalThis.String(object.task_run_external_id)
: '',
incrementTimeoutBy: isSet(object.incrementTimeoutBy)
? globalThis.String(object.incrementTimeoutBy)
: '',
: isSet(object.increment_timeout_by)
? globalThis.String(object.increment_timeout_by)
: '',
};
},
@@ -3711,7 +4002,13 @@ export const RefreshTimeoutResponse: MessageFns<RefreshTimeoutResponse> = {
},
fromJSON(object: any): RefreshTimeoutResponse {
return { timeoutAt: isSet(object.timeoutAt) ? fromJsonTimestamp(object.timeoutAt) : undefined };
return {
timeoutAt: isSet(object.timeoutAt)
? fromJsonTimestamp(object.timeoutAt)
: isSet(object.timeout_at)
? fromJsonTimestamp(object.timeout_at)
: undefined,
};
},
toJSON(message: RefreshTimeoutResponse): unknown {
@@ -3772,7 +4069,9 @@ export const ReleaseSlotRequest: MessageFns<ReleaseSlotRequest> = {
return {
taskRunExternalId: isSet(object.taskRunExternalId)
? globalThis.String(object.taskRunExternalId)
: '',
: isSet(object.task_run_external_id)
? globalThis.String(object.task_run_external_id)
: '',
};
},
@@ -3880,7 +4179,9 @@ export const RestoreEvictedTaskRequest: MessageFns<RestoreEvictedTaskRequest> =
return {
taskRunExternalId: isSet(object.taskRunExternalId)
? globalThis.String(object.taskRunExternalId)
: '',
: isSet(object.task_run_external_id)
? globalThis.String(object.task_run_external_id)
: '',
};
},
+54 -14
View File
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.7.7
// protoc-gen-ts_proto v2.11.4
// protoc v3.19.1
// source: events/events.proto
@@ -198,16 +198,28 @@ export const Event: MessageFns<Event> = {
fromJSON(object: any): Event {
return {
tenantId: isSet(object.tenantId) ? globalThis.String(object.tenantId) : '',
eventId: isSet(object.eventId) ? globalThis.String(object.eventId) : '',
tenantId: isSet(object.tenantId)
? globalThis.String(object.tenantId)
: isSet(object.tenant_id)
? globalThis.String(object.tenant_id)
: '',
eventId: isSet(object.eventId)
? globalThis.String(object.eventId)
: isSet(object.event_id)
? globalThis.String(object.event_id)
: '',
key: isSet(object.key) ? globalThis.String(object.key) : '',
payload: isSet(object.payload) ? globalThis.String(object.payload) : '',
eventTimestamp: isSet(object.eventTimestamp)
? fromJsonTimestamp(object.eventTimestamp)
: undefined,
: isSet(object.event_timestamp)
? fromJsonTimestamp(object.event_timestamp)
: undefined,
additionalMetadata: isSet(object.additionalMetadata)
? globalThis.String(object.additionalMetadata)
: undefined,
: isSet(object.additional_metadata)
? globalThis.String(object.additional_metadata)
: undefined,
scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,
};
},
@@ -418,14 +430,22 @@ export const PutLogRequest: MessageFns<PutLogRequest> = {
return {
taskRunExternalId: isSet(object.taskRunExternalId)
? globalThis.String(object.taskRunExternalId)
: '',
createdAt: isSet(object.createdAt) ? fromJsonTimestamp(object.createdAt) : undefined,
: isSet(object.task_run_external_id)
? globalThis.String(object.task_run_external_id)
: '',
createdAt: isSet(object.createdAt)
? fromJsonTimestamp(object.createdAt)
: isSet(object.created_at)
? fromJsonTimestamp(object.created_at)
: undefined,
message: isSet(object.message) ? globalThis.String(object.message) : '',
level: isSet(object.level) ? globalThis.String(object.level) : undefined,
metadata: isSet(object.metadata) ? globalThis.String(object.metadata) : '',
taskRetryCount: isSet(object.taskRetryCount)
? globalThis.Number(object.taskRetryCount)
: undefined,
: isSet(object.task_retry_count)
? globalThis.Number(object.task_retry_count)
: undefined,
};
},
@@ -600,11 +620,21 @@ export const PutStreamEventRequest: MessageFns<PutStreamEventRequest> = {
return {
taskRunExternalId: isSet(object.taskRunExternalId)
? globalThis.String(object.taskRunExternalId)
: '',
createdAt: isSet(object.createdAt) ? fromJsonTimestamp(object.createdAt) : undefined,
: isSet(object.task_run_external_id)
? globalThis.String(object.task_run_external_id)
: '',
createdAt: isSet(object.createdAt)
? fromJsonTimestamp(object.createdAt)
: isSet(object.created_at)
? fromJsonTimestamp(object.created_at)
: undefined,
message: isSet(object.message) ? bytesFromBase64(object.message) : new Uint8Array(0),
metadata: isSet(object.metadata) ? globalThis.String(object.metadata) : '',
eventIndex: isSet(object.eventIndex) ? globalThis.Number(object.eventIndex) : undefined,
eventIndex: isSet(object.eventIndex)
? globalThis.Number(object.eventIndex)
: isSet(object.event_index)
? globalThis.Number(object.event_index)
: undefined,
};
},
@@ -851,10 +881,14 @@ export const PushEventRequest: MessageFns<PushEventRequest> = {
payload: isSet(object.payload) ? globalThis.String(object.payload) : '',
eventTimestamp: isSet(object.eventTimestamp)
? fromJsonTimestamp(object.eventTimestamp)
: undefined,
: isSet(object.event_timestamp)
? fromJsonTimestamp(object.event_timestamp)
: undefined,
additionalMetadata: isSet(object.additionalMetadata)
? globalThis.String(object.additionalMetadata)
: undefined,
: isSet(object.additional_metadata)
? globalThis.String(object.additional_metadata)
: undefined,
priority: isSet(object.priority) ? globalThis.Number(object.priority) : undefined,
scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,
};
@@ -935,7 +969,13 @@ export const ReplayEventRequest: MessageFns<ReplayEventRequest> = {
},
fromJSON(object: any): ReplayEventRequest {
return { eventId: isSet(object.eventId) ? globalThis.String(object.eventId) : '' };
return {
eventId: isSet(object.eventId)
? globalThis.String(object.eventId)
: isSet(object.event_id)
? globalThis.String(object.event_id)
: '',
};
},
toJSON(message: ReplayEventRequest): unknown {
+1 -1
View File
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.7.7
// protoc-gen-ts_proto v2.11.4
// protoc v3.19.1
// source: google/protobuf/timestamp.proto
+228 -57
View File
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.7.7
// protoc-gen-ts_proto v2.11.4
// protoc v3.19.1
// source: v1/dispatcher.proto
@@ -63,6 +63,7 @@ export interface DurableEventLogEntryRef {
export interface DurableTaskRunAckEntry {
nodeId: number;
branchId: number;
workflowRunExternalId: string;
}
export interface DurableTaskEventMemoAckResponse {
@@ -257,7 +258,13 @@ export const DurableTaskRequestRegisterWorker: MessageFns<DurableTaskRequestRegi
},
fromJSON(object: any): DurableTaskRequestRegisterWorker {
return { workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '' };
return {
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
};
},
toJSON(message: DurableTaskRequestRegisterWorker): unknown {
@@ -320,7 +327,13 @@ export const DurableTaskResponseRegisterWorker: MessageFns<DurableTaskResponseRe
},
fromJSON(object: any): DurableTaskResponseRegisterWorker {
return { workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '' };
return {
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
};
},
toJSON(message: DurableTaskResponseRegisterWorker): unknown {
@@ -419,12 +432,24 @@ export const DurableEventLogEntryRef: MessageFns<DurableEventLogEntryRef> = {
return {
durableTaskExternalId: isSet(object.durableTaskExternalId)
? globalThis.String(object.durableTaskExternalId)
: '',
: isSet(object.durable_task_external_id)
? globalThis.String(object.durable_task_external_id)
: '',
invocationCount: isSet(object.invocationCount)
? globalThis.Number(object.invocationCount)
: 0,
branchId: isSet(object.branchId) ? globalThis.Number(object.branchId) : 0,
nodeId: isSet(object.nodeId) ? globalThis.Number(object.nodeId) : 0,
: isSet(object.invocation_count)
? globalThis.Number(object.invocation_count)
: 0,
branchId: isSet(object.branchId)
? globalThis.Number(object.branchId)
: isSet(object.branch_id)
? globalThis.Number(object.branch_id)
: 0,
nodeId: isSet(object.nodeId)
? globalThis.Number(object.nodeId)
: isSet(object.node_id)
? globalThis.Number(object.node_id)
: 0,
};
},
@@ -459,7 +484,7 @@ export const DurableEventLogEntryRef: MessageFns<DurableEventLogEntryRef> = {
};
function createBaseDurableTaskRunAckEntry(): DurableTaskRunAckEntry {
return { nodeId: 0, branchId: 0 };
return { nodeId: 0, branchId: 0, workflowRunExternalId: '' };
}
export const DurableTaskRunAckEntry: MessageFns<DurableTaskRunAckEntry> = {
@@ -470,6 +495,9 @@ export const DurableTaskRunAckEntry: MessageFns<DurableTaskRunAckEntry> = {
if (message.branchId !== 0) {
writer.uint32(16).int64(message.branchId);
}
if (message.workflowRunExternalId !== '') {
writer.uint32(26).string(message.workflowRunExternalId);
}
return writer;
},
@@ -496,6 +524,14 @@ export const DurableTaskRunAckEntry: MessageFns<DurableTaskRunAckEntry> = {
message.branchId = longToNumber(reader.int64());
continue;
}
case 3: {
if (tag !== 26) {
break;
}
message.workflowRunExternalId = reader.string();
continue;
}
}
if ((tag & 7) === 4 || tag === 0) {
break;
@@ -507,8 +543,21 @@ export const DurableTaskRunAckEntry: MessageFns<DurableTaskRunAckEntry> = {
fromJSON(object: any): DurableTaskRunAckEntry {
return {
nodeId: isSet(object.nodeId) ? globalThis.Number(object.nodeId) : 0,
branchId: isSet(object.branchId) ? globalThis.Number(object.branchId) : 0,
nodeId: isSet(object.nodeId)
? globalThis.Number(object.nodeId)
: isSet(object.node_id)
? globalThis.Number(object.node_id)
: 0,
branchId: isSet(object.branchId)
? globalThis.Number(object.branchId)
: isSet(object.branch_id)
? globalThis.Number(object.branch_id)
: 0,
workflowRunExternalId: isSet(object.workflowRunExternalId)
? globalThis.String(object.workflowRunExternalId)
: isSet(object.workflow_run_external_id)
? globalThis.String(object.workflow_run_external_id)
: '',
};
},
@@ -520,6 +569,9 @@ export const DurableTaskRunAckEntry: MessageFns<DurableTaskRunAckEntry> = {
if (message.branchId !== 0) {
obj.branchId = Math.round(message.branchId);
}
if (message.workflowRunExternalId !== '') {
obj.workflowRunExternalId = message.workflowRunExternalId;
}
return obj;
},
@@ -530,6 +582,7 @@ export const DurableTaskRunAckEntry: MessageFns<DurableTaskRunAckEntry> = {
const message = createBaseDurableTaskRunAckEntry();
message.nodeId = object.nodeId ?? 0;
message.branchId = object.branchId ?? 0;
message.workflowRunExternalId = object.workflowRunExternalId ?? '';
return message;
},
};
@@ -600,10 +653,14 @@ export const DurableTaskEventMemoAckResponse: MessageFns<DurableTaskEventMemoAck
ref: isSet(object.ref) ? DurableEventLogEntryRef.fromJSON(object.ref) : undefined,
memoAlreadyExisted: isSet(object.memoAlreadyExisted)
? globalThis.Boolean(object.memoAlreadyExisted)
: false,
: isSet(object.memo_already_existed)
? globalThis.Boolean(object.memo_already_existed)
: false,
memoResultPayload: isSet(object.memoResultPayload)
? bytesFromBase64(object.memoResultPayload)
: undefined,
: isSet(object.memo_result_payload)
? bytesFromBase64(object.memo_result_payload)
: undefined,
};
},
@@ -707,13 +764,19 @@ export const DurableTaskEventTriggerRunsAckResponse: MessageFns<DurableTaskEvent
return {
durableTaskExternalId: isSet(object.durableTaskExternalId)
? globalThis.String(object.durableTaskExternalId)
: '',
: isSet(object.durable_task_external_id)
? globalThis.String(object.durable_task_external_id)
: '',
invocationCount: isSet(object.invocationCount)
? globalThis.Number(object.invocationCount)
: 0,
: isSet(object.invocation_count)
? globalThis.Number(object.invocation_count)
: 0,
runEntries: globalThis.Array.isArray(object?.runEntries)
? object.runEntries.map((e: any) => DurableTaskRunAckEntry.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.run_entries)
? object.run_entries.map((e: any) => DurableTaskRunAckEntry.fromJSON(e))
: [],
};
},
@@ -971,10 +1034,14 @@ export const DurableTaskEvictInvocationRequest: MessageFns<DurableTaskEvictInvoc
return {
invocationCount: isSet(object.invocationCount)
? globalThis.Number(object.invocationCount)
: 0,
: isSet(object.invocation_count)
? globalThis.Number(object.invocation_count)
: 0,
durableTaskExternalId: isSet(object.durableTaskExternalId)
? globalThis.String(object.durableTaskExternalId)
: '',
: isSet(object.durable_task_external_id)
? globalThis.String(object.durable_task_external_id)
: '',
reason: isSet(object.reason) ? globalThis.String(object.reason) : undefined,
};
},
@@ -1061,10 +1128,14 @@ export const DurableTaskEvictionAckResponse: MessageFns<DurableTaskEvictionAckRe
return {
invocationCount: isSet(object.invocationCount)
? globalThis.Number(object.invocationCount)
: 0,
: isSet(object.invocation_count)
? globalThis.Number(object.invocation_count)
: 0,
durableTaskExternalId: isSet(object.durableTaskExternalId)
? globalThis.String(object.durableTaskExternalId)
: '',
: isSet(object.durable_task_external_id)
? globalThis.String(object.durable_task_external_id)
: '',
};
},
@@ -1166,12 +1237,24 @@ export const DurableTaskAwaitedCompletedEntry: MessageFns<DurableTaskAwaitedComp
return {
durableTaskExternalId: isSet(object.durableTaskExternalId)
? globalThis.String(object.durableTaskExternalId)
: '',
branchId: isSet(object.branchId) ? globalThis.Number(object.branchId) : 0,
nodeId: isSet(object.nodeId) ? globalThis.Number(object.nodeId) : 0,
: isSet(object.durable_task_external_id)
? globalThis.String(object.durable_task_external_id)
: '',
branchId: isSet(object.branchId)
? globalThis.Number(object.branchId)
: isSet(object.branch_id)
? globalThis.Number(object.branch_id)
: 0,
nodeId: isSet(object.nodeId)
? globalThis.Number(object.nodeId)
: isSet(object.node_id)
? globalThis.Number(object.node_id)
: 0,
invocationCount: isSet(object.invocationCount)
? globalThis.Number(object.invocationCount)
: 0,
: isSet(object.invocation_count)
? globalThis.Number(object.invocation_count)
: 0,
};
},
@@ -1272,10 +1355,14 @@ export const DurableTaskServerEvictNotice: MessageFns<DurableTaskServerEvictNoti
return {
durableTaskExternalId: isSet(object.durableTaskExternalId)
? globalThis.String(object.durableTaskExternalId)
: '',
: isSet(object.durable_task_external_id)
? globalThis.String(object.durable_task_external_id)
: '',
invocationCount: isSet(object.invocationCount)
? globalThis.Number(object.invocationCount)
: 0,
: isSet(object.invocation_count)
? globalThis.Number(object.invocation_count)
: 0,
reason: isSet(object.reason) ? globalThis.String(object.reason) : '',
};
},
@@ -1360,10 +1447,16 @@ export const DurableTaskWorkerStatusRequest: MessageFns<DurableTaskWorkerStatusR
fromJSON(object: any): DurableTaskWorkerStatusRequest {
return {
workerId: isSet(object.workerId) ? globalThis.String(object.workerId) : '',
workerId: isSet(object.workerId)
? globalThis.String(object.workerId)
: isSet(object.worker_id)
? globalThis.String(object.worker_id)
: '',
waitingEntries: globalThis.Array.isArray(object?.waitingEntries)
? object.waitingEntries.map((e: any) => DurableTaskAwaitedCompletedEntry.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.waiting_entries)
? object.waiting_entries.map((e: any) => DurableTaskAwaitedCompletedEntry.fromJSON(e))
: [],
};
},
@@ -1457,7 +1550,11 @@ export const DurableTaskCompleteMemoRequest: MessageFns<DurableTaskCompleteMemoR
return {
ref: isSet(object.ref) ? DurableEventLogEntryRef.fromJSON(object.ref) : undefined,
payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0),
memoKey: isSet(object.memoKey) ? bytesFromBase64(object.memoKey) : new Uint8Array(0),
memoKey: isSet(object.memoKey)
? bytesFromBase64(object.memoKey)
: isSet(object.memo_key)
? bytesFromBase64(object.memo_key)
: new Uint8Array(0),
};
},
@@ -1568,10 +1665,14 @@ export const DurableTaskMemoRequest: MessageFns<DurableTaskMemoRequest> = {
return {
invocationCount: isSet(object.invocationCount)
? globalThis.Number(object.invocationCount)
: 0,
: isSet(object.invocation_count)
? globalThis.Number(object.invocation_count)
: 0,
durableTaskExternalId: isSet(object.durableTaskExternalId)
? globalThis.String(object.durableTaskExternalId)
: '',
: isSet(object.durable_task_external_id)
? globalThis.String(object.durable_task_external_id)
: '',
key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0),
payload: isSet(object.payload) ? bytesFromBase64(object.payload) : undefined,
};
@@ -1672,13 +1773,19 @@ export const DurableTaskTriggerRunsRequest: MessageFns<DurableTaskTriggerRunsReq
return {
invocationCount: isSet(object.invocationCount)
? globalThis.Number(object.invocationCount)
: 0,
: isSet(object.invocation_count)
? globalThis.Number(object.invocation_count)
: 0,
durableTaskExternalId: isSet(object.durableTaskExternalId)
? globalThis.String(object.durableTaskExternalId)
: '',
: isSet(object.durable_task_external_id)
? globalThis.String(object.durable_task_external_id)
: '',
triggerOpts: globalThis.Array.isArray(object?.triggerOpts)
? object.triggerOpts.map((e: any) => TriggerWorkflowRequest.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.trigger_opts)
? object.trigger_opts.map((e: any) => TriggerWorkflowRequest.fromJSON(e))
: [],
};
},
@@ -1780,13 +1887,19 @@ export const DurableTaskWaitForRequest: MessageFns<DurableTaskWaitForRequest> =
return {
invocationCount: isSet(object.invocationCount)
? globalThis.Number(object.invocationCount)
: 0,
: isSet(object.invocation_count)
? globalThis.Number(object.invocation_count)
: 0,
durableTaskExternalId: isSet(object.durableTaskExternalId)
? globalThis.String(object.durableTaskExternalId)
: '',
: isSet(object.durable_task_external_id)
? globalThis.String(object.durable_task_external_id)
: '',
waitForConditions: isSet(object.waitForConditions)
? DurableEventListenerConditions.fromJSON(object.waitForConditions)
: undefined,
: isSet(object.wait_for_conditions)
? DurableEventListenerConditions.fromJSON(object.wait_for_conditions)
: undefined,
};
},
@@ -1942,23 +2055,35 @@ export const DurableTaskRequest: MessageFns<DurableTaskRequest> = {
return {
registerWorker: isSet(object.registerWorker)
? DurableTaskRequestRegisterWorker.fromJSON(object.registerWorker)
: undefined,
: isSet(object.register_worker)
? DurableTaskRequestRegisterWorker.fromJSON(object.register_worker)
: undefined,
memo: isSet(object.memo) ? DurableTaskMemoRequest.fromJSON(object.memo) : undefined,
triggerRuns: isSet(object.triggerRuns)
? DurableTaskTriggerRunsRequest.fromJSON(object.triggerRuns)
: undefined,
: isSet(object.trigger_runs)
? DurableTaskTriggerRunsRequest.fromJSON(object.trigger_runs)
: undefined,
waitFor: isSet(object.waitFor)
? DurableTaskWaitForRequest.fromJSON(object.waitFor)
: undefined,
: isSet(object.wait_for)
? DurableTaskWaitForRequest.fromJSON(object.wait_for)
: undefined,
evictInvocation: isSet(object.evictInvocation)
? DurableTaskEvictInvocationRequest.fromJSON(object.evictInvocation)
: undefined,
: isSet(object.evict_invocation)
? DurableTaskEvictInvocationRequest.fromJSON(object.evict_invocation)
: undefined,
workerStatus: isSet(object.workerStatus)
? DurableTaskWorkerStatusRequest.fromJSON(object.workerStatus)
: undefined,
: isSet(object.worker_status)
? DurableTaskWorkerStatusRequest.fromJSON(object.worker_status)
: undefined,
completeMemo: isSet(object.completeMemo)
? DurableTaskCompleteMemoRequest.fromJSON(object.completeMemo)
: undefined,
: isSet(object.complete_memo)
? DurableTaskCompleteMemoRequest.fromJSON(object.complete_memo)
: undefined,
};
},
@@ -2089,8 +2214,16 @@ export const DurableTaskErrorResponse: MessageFns<DurableTaskErrorResponse> = {
fromJSON(object: any): DurableTaskErrorResponse {
return {
ref: isSet(object.ref) ? DurableEventLogEntryRef.fromJSON(object.ref) : undefined,
errorType: isSet(object.errorType) ? durableTaskErrorTypeFromJSON(object.errorType) : 0,
errorMessage: isSet(object.errorMessage) ? globalThis.String(object.errorMessage) : '',
errorType: isSet(object.errorType)
? durableTaskErrorTypeFromJSON(object.errorType)
: isSet(object.error_type)
? durableTaskErrorTypeFromJSON(object.error_type)
: 0,
errorMessage: isSet(object.errorMessage)
? globalThis.String(object.errorMessage)
: isSet(object.error_message)
? globalThis.String(object.error_message)
: '',
};
},
@@ -2270,26 +2403,40 @@ export const DurableTaskResponse: MessageFns<DurableTaskResponse> = {
return {
registerWorker: isSet(object.registerWorker)
? DurableTaskResponseRegisterWorker.fromJSON(object.registerWorker)
: undefined,
: isSet(object.register_worker)
? DurableTaskResponseRegisterWorker.fromJSON(object.register_worker)
: undefined,
memoAck: isSet(object.memoAck)
? DurableTaskEventMemoAckResponse.fromJSON(object.memoAck)
: undefined,
: isSet(object.memo_ack)
? DurableTaskEventMemoAckResponse.fromJSON(object.memo_ack)
: undefined,
triggerRunsAck: isSet(object.triggerRunsAck)
? DurableTaskEventTriggerRunsAckResponse.fromJSON(object.triggerRunsAck)
: undefined,
: isSet(object.trigger_runs_ack)
? DurableTaskEventTriggerRunsAckResponse.fromJSON(object.trigger_runs_ack)
: undefined,
waitForAck: isSet(object.waitForAck)
? DurableTaskEventWaitForAckResponse.fromJSON(object.waitForAck)
: undefined,
: isSet(object.wait_for_ack)
? DurableTaskEventWaitForAckResponse.fromJSON(object.wait_for_ack)
: undefined,
entryCompleted: isSet(object.entryCompleted)
? DurableTaskEventLogEntryCompletedResponse.fromJSON(object.entryCompleted)
: undefined,
: isSet(object.entry_completed)
? DurableTaskEventLogEntryCompletedResponse.fromJSON(object.entry_completed)
: undefined,
error: isSet(object.error) ? DurableTaskErrorResponse.fromJSON(object.error) : undefined,
evictionAck: isSet(object.evictionAck)
? DurableTaskEvictionAckResponse.fromJSON(object.evictionAck)
: undefined,
: isSet(object.eviction_ack)
? DurableTaskEvictionAckResponse.fromJSON(object.eviction_ack)
: undefined,
serverEvict: isSet(object.serverEvict)
? DurableTaskServerEvictNotice.fromJSON(object.serverEvict)
: undefined,
: isSet(object.server_evict)
? DurableTaskServerEvictNotice.fromJSON(object.server_evict)
: undefined,
};
},
@@ -2426,8 +2573,16 @@ export const RegisterDurableEventRequest: MessageFns<RegisterDurableEventRequest
fromJSON(object: any): RegisterDurableEventRequest {
return {
taskId: isSet(object.taskId) ? globalThis.String(object.taskId) : '',
signalKey: isSet(object.signalKey) ? globalThis.String(object.signalKey) : '',
taskId: isSet(object.taskId)
? globalThis.String(object.taskId)
: isSet(object.task_id)
? globalThis.String(object.task_id)
: '',
signalKey: isSet(object.signalKey)
? globalThis.String(object.signalKey)
: isSet(object.signal_key)
? globalThis.String(object.signal_key)
: '',
conditions: isSet(object.conditions)
? DurableEventListenerConditions.fromJSON(object.conditions)
: undefined,
@@ -2558,8 +2713,16 @@ export const ListenForDurableEventRequest: MessageFns<ListenForDurableEventReque
fromJSON(object: any): ListenForDurableEventRequest {
return {
taskId: isSet(object.taskId) ? globalThis.String(object.taskId) : '',
signalKey: isSet(object.signalKey) ? globalThis.String(object.signalKey) : '',
taskId: isSet(object.taskId)
? globalThis.String(object.taskId)
: isSet(object.task_id)
? globalThis.String(object.task_id)
: '',
signalKey: isSet(object.signalKey)
? globalThis.String(object.signalKey)
: isSet(object.signal_key)
? globalThis.String(object.signal_key)
: '',
};
},
@@ -2645,8 +2808,16 @@ export const DurableEvent: MessageFns<DurableEvent> = {
fromJSON(object: any): DurableEvent {
return {
taskId: isSet(object.taskId) ? globalThis.String(object.taskId) : '',
signalKey: isSet(object.signalKey) ? globalThis.String(object.signalKey) : '',
taskId: isSet(object.taskId)
? globalThis.String(object.taskId)
: isSet(object.task_id)
? globalThis.String(object.task_id)
: '',
signalKey: isSet(object.signalKey)
? globalThis.String(object.signalKey)
: isSet(object.signal_key)
? globalThis.String(object.signal_key)
: '',
data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0),
};
},
+39 -11
View File
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.7.7
// protoc-gen-ts_proto v2.11.4
// protoc v3.19.1
// source: v1/shared/condition.proto
@@ -162,9 +162,15 @@ export const BaseMatchCondition: MessageFns<BaseMatchCondition> = {
return {
readableDataKey: isSet(object.readableDataKey)
? globalThis.String(object.readableDataKey)
: '',
: isSet(object.readable_data_key)
? globalThis.String(object.readable_data_key)
: '',
action: isSet(object.action) ? actionFromJSON(object.action) : 0,
orGroupId: isSet(object.orGroupId) ? globalThis.String(object.orGroupId) : '',
orGroupId: isSet(object.orGroupId)
? globalThis.String(object.orGroupId)
: isSet(object.or_group_id)
? globalThis.String(object.or_group_id)
: '',
expression: isSet(object.expression) ? globalThis.String(object.expression) : '',
};
},
@@ -254,7 +260,9 @@ export const ParentOverrideMatchCondition: MessageFns<ParentOverrideMatchConditi
base: isSet(object.base) ? BaseMatchCondition.fromJSON(object.base) : undefined,
parentReadableId: isSet(object.parentReadableId)
? globalThis.String(object.parentReadableId)
: '',
: isSet(object.parent_readable_id)
? globalThis.String(object.parent_readable_id)
: '',
};
},
@@ -333,7 +341,11 @@ export const SleepMatchCondition: MessageFns<SleepMatchCondition> = {
fromJSON(object: any): SleepMatchCondition {
return {
base: isSet(object.base) ? BaseMatchCondition.fromJSON(object.base) : undefined,
sleepFor: isSet(object.sleepFor) ? globalThis.String(object.sleepFor) : '',
sleepFor: isSet(object.sleepFor)
? globalThis.String(object.sleepFor)
: isSet(object.sleep_for)
? globalThis.String(object.sleep_for)
: '',
};
},
@@ -415,7 +427,11 @@ export const UserEventMatchCondition: MessageFns<UserEventMatchCondition> = {
fromJSON(object: any): UserEventMatchCondition {
return {
base: isSet(object.base) ? BaseMatchCondition.fromJSON(object.base) : undefined,
userEventKey: isSet(object.userEventKey) ? globalThis.String(object.userEventKey) : '',
userEventKey: isSet(object.userEventKey)
? globalThis.String(object.userEventKey)
: isSet(object.user_event_key)
? globalThis.String(object.user_event_key)
: '',
};
},
@@ -508,13 +524,21 @@ export const TaskConditions: MessageFns<TaskConditions> = {
return {
parentOverrideConditions: globalThis.Array.isArray(object?.parentOverrideConditions)
? object.parentOverrideConditions.map((e: any) => ParentOverrideMatchCondition.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.parent_override_conditions)
? object.parent_override_conditions.map((e: any) =>
ParentOverrideMatchCondition.fromJSON(e)
)
: [],
sleepConditions: globalThis.Array.isArray(object?.sleepConditions)
? object.sleepConditions.map((e: any) => SleepMatchCondition.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.sleep_conditions)
? object.sleep_conditions.map((e: any) => SleepMatchCondition.fromJSON(e))
: [],
userEventConditions: globalThis.Array.isArray(object?.userEventConditions)
? object.userEventConditions.map((e: any) => UserEventMatchCondition.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.user_event_conditions)
? object.user_event_conditions.map((e: any) => UserEventMatchCondition.fromJSON(e))
: [],
};
},
@@ -606,10 +630,14 @@ export const DurableEventListenerConditions: MessageFns<DurableEventListenerCond
return {
sleepConditions: globalThis.Array.isArray(object?.sleepConditions)
? object.sleepConditions.map((e: any) => SleepMatchCondition.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.sleep_conditions)
? object.sleep_conditions.map((e: any) => SleepMatchCondition.fromJSON(e))
: [],
userEventConditions: globalThis.Array.isArray(object?.userEventConditions)
? object.userEventConditions.map((e: any) => UserEventMatchCondition.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.user_event_conditions)
? object.user_event_conditions.map((e: any) => UserEventMatchCondition.fromJSON(e))
: [],
};
},
+72 -27
View File
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.7.7
// protoc-gen-ts_proto v2.11.4
// protoc v3.19.1
// source: v1/shared/trigger.proto
@@ -215,8 +215,16 @@ export const DesiredWorkerLabels: MessageFns<DesiredWorkerLabels> = {
fromJSON(object: any): DesiredWorkerLabels {
return {
strValue: isSet(object.strValue) ? globalThis.String(object.strValue) : undefined,
intValue: isSet(object.intValue) ? globalThis.Number(object.intValue) : undefined,
strValue: isSet(object.strValue)
? globalThis.String(object.strValue)
: isSet(object.str_value)
? globalThis.String(object.str_value)
: undefined,
intValue: isSet(object.intValue)
? globalThis.Number(object.intValue)
: isSet(object.int_value)
? globalThis.Number(object.int_value)
: undefined,
required: isSet(object.required) ? globalThis.Boolean(object.required) : undefined,
comparator: isSet(object.comparator)
? workerLabelComparatorFromJSON(object.comparator)
@@ -303,12 +311,14 @@ export const TriggerWorkflowRequest: MessageFns<TriggerWorkflowRequest> = {
if (message.priority !== undefined) {
writer.uint32(72).int32(message.priority);
}
Object.entries(message.desiredWorkerLabels).forEach(([key, value]) => {
TriggerWorkflowRequest_DesiredWorkerLabelsEntry.encode(
{ key: key as any, value },
writer.uint32(82).fork()
).join();
});
globalThis.Object.entries(message.desiredWorkerLabels).forEach(
([key, value]: [string, DesiredWorkerLabels]) => {
TriggerWorkflowRequest_DesiredWorkerLabelsEntry.encode(
{ key: key as any, value },
writer.uint32(82).fork()
).join();
}
);
return writer;
},
@@ -418,28 +428,54 @@ export const TriggerWorkflowRequest: MessageFns<TriggerWorkflowRequest> = {
return {
name: isSet(object.name) ? globalThis.String(object.name) : '',
input: isSet(object.input) ? globalThis.String(object.input) : '',
parentId: isSet(object.parentId) ? globalThis.String(object.parentId) : undefined,
parentId: isSet(object.parentId)
? globalThis.String(object.parentId)
: isSet(object.parent_id)
? globalThis.String(object.parent_id)
: undefined,
parentTaskRunExternalId: isSet(object.parentTaskRunExternalId)
? globalThis.String(object.parentTaskRunExternalId)
: undefined,
childIndex: isSet(object.childIndex) ? globalThis.Number(object.childIndex) : undefined,
childKey: isSet(object.childKey) ? globalThis.String(object.childKey) : undefined,
: isSet(object.parent_task_run_external_id)
? globalThis.String(object.parent_task_run_external_id)
: undefined,
childIndex: isSet(object.childIndex)
? globalThis.Number(object.childIndex)
: isSet(object.child_index)
? globalThis.Number(object.child_index)
: undefined,
childKey: isSet(object.childKey)
? globalThis.String(object.childKey)
: isSet(object.child_key)
? globalThis.String(object.child_key)
: undefined,
additionalMetadata: isSet(object.additionalMetadata)
? globalThis.String(object.additionalMetadata)
: undefined,
: isSet(object.additional_metadata)
? globalThis.String(object.additional_metadata)
: undefined,
desiredWorkerId: isSet(object.desiredWorkerId)
? globalThis.String(object.desiredWorkerId)
: undefined,
: isSet(object.desired_worker_id)
? globalThis.String(object.desired_worker_id)
: undefined,
priority: isSet(object.priority) ? globalThis.Number(object.priority) : undefined,
desiredWorkerLabels: isObject(object.desiredWorkerLabels)
? Object.entries(object.desiredWorkerLabels).reduce<{ [key: string]: DesiredWorkerLabels }>(
(acc, [key, value]) => {
? (globalThis.Object.entries(object.desiredWorkerLabels) as [string, any][]).reduce(
(acc: { [key: string]: DesiredWorkerLabels }, [key, value]: [string, any]) => {
acc[key] = DesiredWorkerLabels.fromJSON(value);
return acc;
},
{}
)
: {},
: isObject(object.desired_worker_labels)
? (globalThis.Object.entries(object.desired_worker_labels) as [string, any][]).reduce(
(acc: { [key: string]: DesiredWorkerLabels }, [key, value]: [string, any]) => {
acc[key] = DesiredWorkerLabels.fromJSON(value);
return acc;
},
{}
)
: {},
};
},
@@ -473,7 +509,10 @@ export const TriggerWorkflowRequest: MessageFns<TriggerWorkflowRequest> = {
obj.priority = Math.round(message.priority);
}
if (message.desiredWorkerLabels) {
const entries = Object.entries(message.desiredWorkerLabels);
const entries = globalThis.Object.entries(message.desiredWorkerLabels) as [
string,
DesiredWorkerLabels,
][];
if (entries.length > 0) {
obj.desiredWorkerLabels = {};
entries.forEach(([k, v]) => {
@@ -498,14 +537,20 @@ export const TriggerWorkflowRequest: MessageFns<TriggerWorkflowRequest> = {
message.additionalMetadata = object.additionalMetadata ?? undefined;
message.desiredWorkerId = object.desiredWorkerId ?? undefined;
message.priority = object.priority ?? undefined;
message.desiredWorkerLabels = Object.entries(object.desiredWorkerLabels ?? {}).reduce<{
[key: string]: DesiredWorkerLabels;
}>((acc, [key, value]) => {
if (value !== undefined) {
acc[key] = DesiredWorkerLabels.fromPartial(value);
}
return acc;
}, {});
message.desiredWorkerLabels = (
globalThis.Object.entries(object.desiredWorkerLabels ?? {}) as [string, DesiredWorkerLabels][]
).reduce(
(
acc: { [key: string]: DesiredWorkerLabels },
[key, value]: [string, DesiredWorkerLabels]
) => {
if (value !== undefined) {
acc[key] = DesiredWorkerLabels.fromPartial(value);
}
return acc;
},
{}
);
return message;
},
};
+279 -99
View File
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.7.7
// protoc-gen-ts_proto v2.11.4
// protoc v3.19.1
// source: v1/workflows.proto
@@ -488,7 +488,9 @@ export const CancelTasksRequest: MessageFns<CancelTasksRequest> = {
return {
externalIds: globalThis.Array.isArray(object?.externalIds)
? object.externalIds.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.external_ids)
? object.external_ids.map((e: any) => globalThis.String(e))
: [],
filter: isSet(object.filter) ? TasksFilter.fromJSON(object.filter) : undefined,
};
},
@@ -569,7 +571,9 @@ export const ReplayTasksRequest: MessageFns<ReplayTasksRequest> = {
return {
externalIds: globalThis.Array.isArray(object?.externalIds)
? object.externalIds.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.external_ids)
? object.external_ids.map((e: any) => globalThis.String(e))
: [],
filter: isSet(object.filter) ? TasksFilter.fromJSON(object.filter) : undefined,
};
},
@@ -694,10 +698,14 @@ export const TasksFilter: MessageFns<TasksFilter> = {
until: isSet(object.until) ? fromJsonTimestamp(object.until) : undefined,
workflowIds: globalThis.Array.isArray(object?.workflowIds)
? object.workflowIds.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.workflow_ids)
? object.workflow_ids.map((e: any) => globalThis.String(e))
: [],
additionalMetadata: globalThis.Array.isArray(object?.additionalMetadata)
? object.additionalMetadata.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.additional_metadata)
? object.additional_metadata.map((e: any) => globalThis.String(e))
: [],
};
},
@@ -775,7 +783,9 @@ export const CancelTasksResponse: MessageFns<CancelTasksResponse> = {
return {
cancelledTasks: globalThis.Array.isArray(object?.cancelledTasks)
? object.cancelledTasks.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.cancelled_tasks)
? object.cancelled_tasks.map((e: any) => globalThis.String(e))
: [],
};
},
@@ -837,7 +847,9 @@ export const ReplayTasksResponse: MessageFns<ReplayTasksResponse> = {
return {
replayedTasks: globalThis.Array.isArray(object?.replayedTasks)
? object.replayedTasks.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.replayed_tasks)
? object.replayed_tasks.map((e: any) => globalThis.String(e))
: [],
};
},
@@ -886,12 +898,14 @@ export const TriggerWorkflowRunRequest: MessageFns<TriggerWorkflowRunRequest> =
if (message.priority !== undefined) {
writer.uint32(32).int32(message.priority);
}
Object.entries(message.desiredWorkerLabels).forEach(([key, value]) => {
TriggerWorkflowRunRequest_DesiredWorkerLabelsEntry.encode(
{ key: key as any, value },
writer.uint32(42).fork()
).join();
});
globalThis.Object.entries(message.desiredWorkerLabels).forEach(
([key, value]: [string, DesiredWorkerLabels]) => {
TriggerWorkflowRunRequest_DesiredWorkerLabelsEntry.encode(
{ key: key as any, value },
writer.uint32(42).fork()
).join();
}
);
return writer;
},
@@ -959,21 +973,35 @@ export const TriggerWorkflowRunRequest: MessageFns<TriggerWorkflowRunRequest> =
fromJSON(object: any): TriggerWorkflowRunRequest {
return {
workflowName: isSet(object.workflowName) ? globalThis.String(object.workflowName) : '',
workflowName: isSet(object.workflowName)
? globalThis.String(object.workflowName)
: isSet(object.workflow_name)
? globalThis.String(object.workflow_name)
: '',
input: isSet(object.input) ? bytesFromBase64(object.input) : new Uint8Array(0),
additionalMetadata: isSet(object.additionalMetadata)
? bytesFromBase64(object.additionalMetadata)
: new Uint8Array(0),
: isSet(object.additional_metadata)
? bytesFromBase64(object.additional_metadata)
: new Uint8Array(0),
priority: isSet(object.priority) ? globalThis.Number(object.priority) : undefined,
desiredWorkerLabels: isObject(object.desiredWorkerLabels)
? Object.entries(object.desiredWorkerLabels).reduce<{ [key: string]: DesiredWorkerLabels }>(
(acc, [key, value]) => {
? (globalThis.Object.entries(object.desiredWorkerLabels) as [string, any][]).reduce(
(acc: { [key: string]: DesiredWorkerLabels }, [key, value]: [string, any]) => {
acc[key] = DesiredWorkerLabels.fromJSON(value);
return acc;
},
{}
)
: {},
: isObject(object.desired_worker_labels)
? (globalThis.Object.entries(object.desired_worker_labels) as [string, any][]).reduce(
(acc: { [key: string]: DesiredWorkerLabels }, [key, value]: [string, any]) => {
acc[key] = DesiredWorkerLabels.fromJSON(value);
return acc;
},
{}
)
: {},
};
},
@@ -992,7 +1020,10 @@ export const TriggerWorkflowRunRequest: MessageFns<TriggerWorkflowRunRequest> =
obj.priority = Math.round(message.priority);
}
if (message.desiredWorkerLabels) {
const entries = Object.entries(message.desiredWorkerLabels);
const entries = globalThis.Object.entries(message.desiredWorkerLabels) as [
string,
DesiredWorkerLabels,
][];
if (entries.length > 0) {
obj.desiredWorkerLabels = {};
entries.forEach(([k, v]) => {
@@ -1012,14 +1043,20 @@ export const TriggerWorkflowRunRequest: MessageFns<TriggerWorkflowRunRequest> =
message.input = object.input ?? new Uint8Array(0);
message.additionalMetadata = object.additionalMetadata ?? new Uint8Array(0);
message.priority = object.priority ?? undefined;
message.desiredWorkerLabels = Object.entries(object.desiredWorkerLabels ?? {}).reduce<{
[key: string]: DesiredWorkerLabels;
}>((acc, [key, value]) => {
if (value !== undefined) {
acc[key] = DesiredWorkerLabels.fromPartial(value);
}
return acc;
}, {});
message.desiredWorkerLabels = (
globalThis.Object.entries(object.desiredWorkerLabels ?? {}) as [string, DesiredWorkerLabels][]
).reduce(
(
acc: { [key: string]: DesiredWorkerLabels },
[key, value]: [string, DesiredWorkerLabels]
) => {
if (value !== undefined) {
acc[key] = DesiredWorkerLabels.fromPartial(value);
}
return acc;
},
{}
);
return message;
},
};
@@ -1154,7 +1191,13 @@ export const TriggerWorkflowRunResponse: MessageFns<TriggerWorkflowRunResponse>
},
fromJSON(object: any): TriggerWorkflowRunResponse {
return { externalId: isSet(object.externalId) ? globalThis.String(object.externalId) : '' };
return {
externalId: isSet(object.externalId)
? globalThis.String(object.externalId)
: isSet(object.external_id)
? globalThis.String(object.external_id)
: '',
};
},
toJSON(message: TriggerWorkflowRunResponse): unknown {
@@ -1238,9 +1281,21 @@ export const BranchDurableTaskRequest: MessageFns<BranchDurableTaskRequest> = {
fromJSON(object: any): BranchDurableTaskRequest {
return {
taskExternalId: isSet(object.taskExternalId) ? globalThis.String(object.taskExternalId) : '',
nodeId: isSet(object.nodeId) ? globalThis.Number(object.nodeId) : 0,
branchId: isSet(object.branchId) ? globalThis.Number(object.branchId) : 0,
taskExternalId: isSet(object.taskExternalId)
? globalThis.String(object.taskExternalId)
: isSet(object.task_external_id)
? globalThis.String(object.task_external_id)
: '',
nodeId: isSet(object.nodeId)
? globalThis.Number(object.nodeId)
: isSet(object.node_id)
? globalThis.Number(object.node_id)
: 0,
branchId: isSet(object.branchId)
? globalThis.Number(object.branchId)
: isSet(object.branch_id)
? globalThis.Number(object.branch_id)
: 0,
};
},
@@ -1333,9 +1388,21 @@ export const BranchDurableTaskResponse: MessageFns<BranchDurableTaskResponse> =
fromJSON(object: any): BranchDurableTaskResponse {
return {
taskExternalId: isSet(object.taskExternalId) ? globalThis.String(object.taskExternalId) : '',
nodeId: isSet(object.nodeId) ? globalThis.Number(object.nodeId) : 0,
branchId: isSet(object.branchId) ? globalThis.Number(object.branchId) : 0,
taskExternalId: isSet(object.taskExternalId)
? globalThis.String(object.taskExternalId)
: isSet(object.task_external_id)
? globalThis.String(object.task_external_id)
: '',
nodeId: isSet(object.nodeId)
? globalThis.Number(object.nodeId)
: isSet(object.node_id)
? globalThis.Number(object.node_id)
: 0,
branchId: isSet(object.branchId)
? globalThis.Number(object.branchId)
: isSet(object.branch_id)
? globalThis.Number(object.branch_id)
: 0,
};
},
@@ -1569,31 +1636,49 @@ export const CreateWorkflowVersionRequest: MessageFns<CreateWorkflowVersionReque
version: isSet(object.version) ? globalThis.String(object.version) : '',
eventTriggers: globalThis.Array.isArray(object?.eventTriggers)
? object.eventTriggers.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.event_triggers)
? object.event_triggers.map((e: any) => globalThis.String(e))
: [],
cronTriggers: globalThis.Array.isArray(object?.cronTriggers)
? object.cronTriggers.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.cron_triggers)
? object.cron_triggers.map((e: any) => globalThis.String(e))
: [],
tasks: globalThis.Array.isArray(object?.tasks)
? object.tasks.map((e: any) => CreateTaskOpts.fromJSON(e))
: [],
concurrency: isSet(object.concurrency) ? Concurrency.fromJSON(object.concurrency) : undefined,
cronInput: isSet(object.cronInput) ? globalThis.String(object.cronInput) : undefined,
cronInput: isSet(object.cronInput)
? globalThis.String(object.cronInput)
: isSet(object.cron_input)
? globalThis.String(object.cron_input)
: undefined,
onFailureTask: isSet(object.onFailureTask)
? CreateTaskOpts.fromJSON(object.onFailureTask)
: undefined,
: isSet(object.on_failure_task)
? CreateTaskOpts.fromJSON(object.on_failure_task)
: undefined,
sticky: isSet(object.sticky) ? stickyStrategyFromJSON(object.sticky) : undefined,
defaultPriority: isSet(object.defaultPriority)
? globalThis.Number(object.defaultPriority)
: undefined,
: isSet(object.default_priority)
? globalThis.Number(object.default_priority)
: undefined,
concurrencyArr: globalThis.Array.isArray(object?.concurrencyArr)
? object.concurrencyArr.map((e: any) => Concurrency.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.concurrency_arr)
? object.concurrency_arr.map((e: any) => Concurrency.fromJSON(e))
: [],
defaultFilters: globalThis.Array.isArray(object?.defaultFilters)
? object.defaultFilters.map((e: any) => DefaultFilter.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.default_filters)
? object.default_filters.map((e: any) => DefaultFilter.fromJSON(e))
: [],
inputJsonSchema: isSet(object.inputJsonSchema)
? bytesFromBase64(object.inputJsonSchema)
: undefined,
: isSet(object.input_json_schema)
? bytesFromBase64(object.input_json_schema)
: undefined,
};
},
@@ -1826,10 +1911,16 @@ export const Concurrency: MessageFns<Concurrency> = {
fromJSON(object: any): Concurrency {
return {
expression: isSet(object.expression) ? globalThis.String(object.expression) : '',
maxRuns: isSet(object.maxRuns) ? globalThis.Number(object.maxRuns) : undefined,
maxRuns: isSet(object.maxRuns)
? globalThis.Number(object.maxRuns)
: isSet(object.max_runs)
? globalThis.Number(object.max_runs)
: undefined,
limitStrategy: isSet(object.limitStrategy)
? concurrencyLimitStrategyFromJSON(object.limitStrategy)
: undefined,
: isSet(object.limit_strategy)
? concurrencyLimitStrategyFromJSON(object.limit_strategy)
: undefined,
};
},
@@ -1902,12 +1993,14 @@ export const CreateTaskOpts: MessageFns<CreateTaskOpts> = {
for (const v of message.rateLimits) {
CreateTaskRateLimit.encode(v!, writer.uint32(58).fork()).join();
}
Object.entries(message.workerLabels).forEach(([key, value]) => {
CreateTaskOpts_WorkerLabelsEntry.encode(
{ key: key as any, value },
writer.uint32(66).fork()
).join();
});
globalThis.Object.entries(message.workerLabels).forEach(
([key, value]: [string, DesiredWorkerLabels]) => {
CreateTaskOpts_WorkerLabelsEntry.encode(
{ key: key as any, value },
writer.uint32(66).fork()
).join();
}
);
if (message.backoffFactor !== undefined) {
writer.uint32(77).float(message.backoffFactor);
}
@@ -1926,7 +2019,7 @@ export const CreateTaskOpts: MessageFns<CreateTaskOpts> = {
if (message.isDurable !== false) {
writer.uint32(112).bool(message.isDurable);
}
Object.entries(message.slotRequests).forEach(([key, value]) => {
globalThis.Object.entries(message.slotRequests).forEach(([key, value]: [string, number]) => {
CreateTaskOpts_SlotRequestsEntry.encode(
{ key: key as any, value },
writer.uint32(122).fork()
@@ -2079,7 +2172,11 @@ export const CreateTaskOpts: MessageFns<CreateTaskOpts> = {
fromJSON(object: any): CreateTaskOpts {
return {
readableId: isSet(object.readableId) ? globalThis.String(object.readableId) : '',
readableId: isSet(object.readableId)
? globalThis.String(object.readableId)
: isSet(object.readable_id)
? globalThis.String(object.readable_id)
: '',
action: isSet(object.action) ? globalThis.String(object.action) : '',
timeout: isSet(object.timeout) ? globalThis.String(object.timeout) : '',
inputs: isSet(object.inputs) ? globalThis.String(object.inputs) : '',
@@ -2089,39 +2186,67 @@ export const CreateTaskOpts: MessageFns<CreateTaskOpts> = {
retries: isSet(object.retries) ? globalThis.Number(object.retries) : 0,
rateLimits: globalThis.Array.isArray(object?.rateLimits)
? object.rateLimits.map((e: any) => CreateTaskRateLimit.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.rate_limits)
? object.rate_limits.map((e: any) => CreateTaskRateLimit.fromJSON(e))
: [],
workerLabels: isObject(object.workerLabels)
? Object.entries(object.workerLabels).reduce<{ [key: string]: DesiredWorkerLabels }>(
(acc, [key, value]) => {
? (globalThis.Object.entries(object.workerLabels) as [string, any][]).reduce(
(acc: { [key: string]: DesiredWorkerLabels }, [key, value]: [string, any]) => {
acc[key] = DesiredWorkerLabels.fromJSON(value);
return acc;
},
{}
)
: {},
: isObject(object.worker_labels)
? (globalThis.Object.entries(object.worker_labels) as [string, any][]).reduce(
(acc: { [key: string]: DesiredWorkerLabels }, [key, value]: [string, any]) => {
acc[key] = DesiredWorkerLabels.fromJSON(value);
return acc;
},
{}
)
: {},
backoffFactor: isSet(object.backoffFactor)
? globalThis.Number(object.backoffFactor)
: undefined,
: isSet(object.backoff_factor)
? globalThis.Number(object.backoff_factor)
: undefined,
backoffMaxSeconds: isSet(object.backoffMaxSeconds)
? globalThis.Number(object.backoffMaxSeconds)
: undefined,
: isSet(object.backoff_max_seconds)
? globalThis.Number(object.backoff_max_seconds)
: undefined,
concurrency: globalThis.Array.isArray(object?.concurrency)
? object.concurrency.map((e: any) => Concurrency.fromJSON(e))
: [],
conditions: isSet(object.conditions) ? TaskConditions.fromJSON(object.conditions) : undefined,
scheduleTimeout: isSet(object.scheduleTimeout)
? globalThis.String(object.scheduleTimeout)
: undefined,
isDurable: isSet(object.isDurable) ? globalThis.Boolean(object.isDurable) : false,
: isSet(object.schedule_timeout)
? globalThis.String(object.schedule_timeout)
: undefined,
isDurable: isSet(object.isDurable)
? globalThis.Boolean(object.isDurable)
: isSet(object.is_durable)
? globalThis.Boolean(object.is_durable)
: false,
slotRequests: isObject(object.slotRequests)
? Object.entries(object.slotRequests).reduce<{ [key: string]: number }>(
(acc, [key, value]) => {
acc[key] = Number(value);
? (globalThis.Object.entries(object.slotRequests) as [string, any][]).reduce(
(acc: { [key: string]: number }, [key, value]: [string, any]) => {
acc[key] = globalThis.Number(value);
return acc;
},
{}
)
: {},
: isObject(object.slot_requests)
? (globalThis.Object.entries(object.slot_requests) as [string, any][]).reduce(
(acc: { [key: string]: number }, [key, value]: [string, any]) => {
acc[key] = globalThis.Number(value);
return acc;
},
{}
)
: {},
};
},
@@ -2149,7 +2274,10 @@ export const CreateTaskOpts: MessageFns<CreateTaskOpts> = {
obj.rateLimits = message.rateLimits.map((e) => CreateTaskRateLimit.toJSON(e));
}
if (message.workerLabels) {
const entries = Object.entries(message.workerLabels);
const entries = globalThis.Object.entries(message.workerLabels) as [
string,
DesiredWorkerLabels,
][];
if (entries.length > 0) {
obj.workerLabels = {};
entries.forEach(([k, v]) => {
@@ -2176,7 +2304,7 @@ export const CreateTaskOpts: MessageFns<CreateTaskOpts> = {
obj.isDurable = message.isDurable;
}
if (message.slotRequests) {
const entries = Object.entries(message.slotRequests);
const entries = globalThis.Object.entries(message.slotRequests) as [string, number][];
if (entries.length > 0) {
obj.slotRequests = {};
entries.forEach(([k, v]) => {
@@ -2199,14 +2327,20 @@ export const CreateTaskOpts: MessageFns<CreateTaskOpts> = {
message.parents = object.parents?.map((e) => e) || [];
message.retries = object.retries ?? 0;
message.rateLimits = object.rateLimits?.map((e) => CreateTaskRateLimit.fromPartial(e)) || [];
message.workerLabels = Object.entries(object.workerLabels ?? {}).reduce<{
[key: string]: DesiredWorkerLabels;
}>((acc, [key, value]) => {
if (value !== undefined) {
acc[key] = DesiredWorkerLabels.fromPartial(value);
}
return acc;
}, {});
message.workerLabels = (
globalThis.Object.entries(object.workerLabels ?? {}) as [string, DesiredWorkerLabels][]
).reduce(
(
acc: { [key: string]: DesiredWorkerLabels },
[key, value]: [string, DesiredWorkerLabels]
) => {
if (value !== undefined) {
acc[key] = DesiredWorkerLabels.fromPartial(value);
}
return acc;
},
{}
);
message.backoffFactor = object.backoffFactor ?? undefined;
message.backoffMaxSeconds = object.backoffMaxSeconds ?? undefined;
message.concurrency = object.concurrency?.map((e) => Concurrency.fromPartial(e)) || [];
@@ -2216,9 +2350,9 @@ export const CreateTaskOpts: MessageFns<CreateTaskOpts> = {
: undefined;
message.scheduleTimeout = object.scheduleTimeout ?? undefined;
message.isDurable = object.isDurable ?? false;
message.slotRequests = Object.entries(object.slotRequests ?? {}).reduce<{
[key: string]: number;
}>((acc, [key, value]) => {
message.slotRequests = (
globalThis.Object.entries(object.slotRequests ?? {}) as [string, number][]
).reduce((acc: { [key: string]: number }, [key, value]: [string, number]) => {
if (value !== undefined) {
acc[key] = globalThis.Number(value);
}
@@ -2495,11 +2629,21 @@ export const CreateTaskRateLimit: MessageFns<CreateTaskRateLimit> = {
return {
key: isSet(object.key) ? globalThis.String(object.key) : '',
units: isSet(object.units) ? globalThis.Number(object.units) : undefined,
keyExpr: isSet(object.keyExpr) ? globalThis.String(object.keyExpr) : undefined,
unitsExpr: isSet(object.unitsExpr) ? globalThis.String(object.unitsExpr) : undefined,
keyExpr: isSet(object.keyExpr)
? globalThis.String(object.keyExpr)
: isSet(object.key_expr)
? globalThis.String(object.key_expr)
: undefined,
unitsExpr: isSet(object.unitsExpr)
? globalThis.String(object.unitsExpr)
: isSet(object.units_expr)
? globalThis.String(object.units_expr)
: undefined,
limitValuesExpr: isSet(object.limitValuesExpr)
? globalThis.String(object.limitValuesExpr)
: undefined,
: isSet(object.limit_values_expr)
? globalThis.String(object.limit_values_expr)
: undefined,
duration: isSet(object.duration) ? rateLimitDurationFromJSON(object.duration) : undefined,
};
},
@@ -2595,7 +2739,11 @@ export const CreateWorkflowVersionResponse: MessageFns<CreateWorkflowVersionResp
fromJSON(object: any): CreateWorkflowVersionResponse {
return {
id: isSet(object.id) ? globalThis.String(object.id) : '',
workflowId: isSet(object.workflowId) ? globalThis.String(object.workflowId) : '',
workflowId: isSet(object.workflowId)
? globalThis.String(object.workflowId)
: isSet(object.workflow_id)
? globalThis.String(object.workflow_id)
: '',
};
},
@@ -2658,7 +2806,13 @@ export const GetRunDetailsRequest: MessageFns<GetRunDetailsRequest> = {
},
fromJSON(object: any): GetRunDetailsRequest {
return { externalId: isSet(object.externalId) ? globalThis.String(object.externalId) : '' };
return {
externalId: isSet(object.externalId)
? globalThis.String(object.externalId)
: isSet(object.external_id)
? globalThis.String(object.external_id)
: '',
};
},
toJSON(message: GetRunDetailsRequest): unknown {
@@ -2779,12 +2933,24 @@ export const TaskRunDetail: MessageFns<TaskRunDetail> = {
fromJSON(object: any): TaskRunDetail {
return {
externalId: isSet(object.externalId) ? globalThis.String(object.externalId) : '',
externalId: isSet(object.externalId)
? globalThis.String(object.externalId)
: isSet(object.external_id)
? globalThis.String(object.external_id)
: '',
status: isSet(object.status) ? runStatusFromJSON(object.status) : 0,
error: isSet(object.error) ? globalThis.String(object.error) : undefined,
output: isSet(object.output) ? bytesFromBase64(object.output) : undefined,
readableId: isSet(object.readableId) ? globalThis.String(object.readableId) : '',
isEvicted: isSet(object.isEvicted) ? globalThis.Boolean(object.isEvicted) : false,
readableId: isSet(object.readableId)
? globalThis.String(object.readableId)
: isSet(object.readable_id)
? globalThis.String(object.readable_id)
: '',
isEvicted: isSet(object.isEvicted)
? globalThis.Boolean(object.isEvicted)
: isSet(object.is_evicted)
? globalThis.Boolean(object.is_evicted)
: false,
};
},
@@ -2845,7 +3011,7 @@ export const GetRunDetailsResponse: MessageFns<GetRunDetailsResponse> = {
if (message.status !== 0) {
writer.uint32(16).int32(message.status);
}
Object.entries(message.taskRuns).forEach(([key, value]) => {
globalThis.Object.entries(message.taskRuns).forEach(([key, value]: [string, TaskRunDetail]) => {
GetRunDetailsResponse_TaskRunsEntry.encode(
{ key: key as any, value },
writer.uint32(26).fork()
@@ -2935,19 +3101,33 @@ export const GetRunDetailsResponse: MessageFns<GetRunDetailsResponse> = {
input: isSet(object.input) ? bytesFromBase64(object.input) : new Uint8Array(0),
status: isSet(object.status) ? runStatusFromJSON(object.status) : 0,
taskRuns: isObject(object.taskRuns)
? Object.entries(object.taskRuns).reduce<{ [key: string]: TaskRunDetail }>(
(acc, [key, value]) => {
? (globalThis.Object.entries(object.taskRuns) as [string, any][]).reduce(
(acc: { [key: string]: TaskRunDetail }, [key, value]: [string, any]) => {
acc[key] = TaskRunDetail.fromJSON(value);
return acc;
},
{}
)
: {},
: isObject(object.task_runs)
? (globalThis.Object.entries(object.task_runs) as [string, any][]).reduce(
(acc: { [key: string]: TaskRunDetail }, [key, value]: [string, any]) => {
acc[key] = TaskRunDetail.fromJSON(value);
return acc;
},
{}
)
: {},
done: isSet(object.done) ? globalThis.Boolean(object.done) : false,
isEvicted: isSet(object.isEvicted) ? globalThis.Boolean(object.isEvicted) : false,
additionalMetadata: isSet(object.additionalMetadata)
? bytesFromBase64(object.additionalMetadata)
: new Uint8Array(0),
: isSet(object.additional_metadata)
? bytesFromBase64(object.additional_metadata)
: new Uint8Array(0),
isEvicted: isSet(object.isEvicted)
? globalThis.Boolean(object.isEvicted)
: isSet(object.is_evicted)
? globalThis.Boolean(object.is_evicted)
: false,
};
},
@@ -2960,7 +3140,7 @@ export const GetRunDetailsResponse: MessageFns<GetRunDetailsResponse> = {
obj.status = runStatusToJSON(message.status);
}
if (message.taskRuns) {
const entries = Object.entries(message.taskRuns);
const entries = globalThis.Object.entries(message.taskRuns) as [string, TaskRunDetail][];
if (entries.length > 0) {
obj.taskRuns = {};
entries.forEach(([k, v]) => {
@@ -2971,12 +3151,12 @@ export const GetRunDetailsResponse: MessageFns<GetRunDetailsResponse> = {
if (message.done !== false) {
obj.done = message.done;
}
if (message.isEvicted !== false) {
obj.isEvicted = message.isEvicted;
}
if (message.additionalMetadata.length !== 0) {
obj.additionalMetadata = base64FromBytes(message.additionalMetadata);
}
if (message.isEvicted !== false) {
obj.isEvicted = message.isEvicted;
}
return obj;
},
@@ -2987,17 +3167,17 @@ export const GetRunDetailsResponse: MessageFns<GetRunDetailsResponse> = {
const message = createBaseGetRunDetailsResponse();
message.input = object.input ?? new Uint8Array(0);
message.status = object.status ?? 0;
message.taskRuns = Object.entries(object.taskRuns ?? {}).reduce<{
[key: string]: TaskRunDetail;
}>((acc, [key, value]) => {
message.taskRuns = (
globalThis.Object.entries(object.taskRuns ?? {}) as [string, TaskRunDetail][]
).reduce((acc: { [key: string]: TaskRunDetail }, [key, value]: [string, TaskRunDetail]) => {
if (value !== undefined) {
acc[key] = TaskRunDetail.fromPartial(value);
}
return acc;
}, {});
message.done = object.done ?? false;
message.isEvicted = object.isEvicted ?? false;
message.additionalMetadata = object.additionalMetadata ?? new Uint8Array(0);
message.isEvicted = object.isEvicted ?? false;
return message;
},
};
+168 -51
View File
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.7.7
// protoc-gen-ts_proto v2.11.4
// protoc v3.19.1
// source: workflows/workflows.proto
@@ -650,13 +650,19 @@ export const CreateWorkflowVersionOpts: MessageFns<CreateWorkflowVersionOpts> =
version: isSet(object.version) ? globalThis.String(object.version) : '',
eventTriggers: globalThis.Array.isArray(object?.eventTriggers)
? object.eventTriggers.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.event_triggers)
? object.event_triggers.map((e: any) => globalThis.String(e))
: [],
cronTriggers: globalThis.Array.isArray(object?.cronTriggers)
? object.cronTriggers.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.cron_triggers)
? object.cron_triggers.map((e: any) => globalThis.String(e))
: [],
scheduledTriggers: globalThis.Array.isArray(object?.scheduledTriggers)
? object.scheduledTriggers.map((e: any) => fromJsonTimestamp(e))
: [],
: globalThis.Array.isArray(object?.scheduled_triggers)
? object.scheduled_triggers.map((e: any) => fromJsonTimestamp(e))
: [],
jobs: globalThis.Array.isArray(object?.jobs)
? object.jobs.map((e: any) => CreateWorkflowJobOpts.fromJSON(e))
: [],
@@ -665,16 +671,26 @@ export const CreateWorkflowVersionOpts: MessageFns<CreateWorkflowVersionOpts> =
: undefined,
scheduleTimeout: isSet(object.scheduleTimeout)
? globalThis.String(object.scheduleTimeout)
: undefined,
cronInput: isSet(object.cronInput) ? globalThis.String(object.cronInput) : undefined,
: isSet(object.schedule_timeout)
? globalThis.String(object.schedule_timeout)
: undefined,
cronInput: isSet(object.cronInput)
? globalThis.String(object.cronInput)
: isSet(object.cron_input)
? globalThis.String(object.cron_input)
: undefined,
onFailureJob: isSet(object.onFailureJob)
? CreateWorkflowJobOpts.fromJSON(object.onFailureJob)
: undefined,
: isSet(object.on_failure_job)
? CreateWorkflowJobOpts.fromJSON(object.on_failure_job)
: undefined,
sticky: isSet(object.sticky) ? stickyStrategyFromJSON(object.sticky) : undefined,
kind: isSet(object.kind) ? workflowKindFromJSON(object.kind) : undefined,
defaultPriority: isSet(object.defaultPriority)
? globalThis.Number(object.defaultPriority)
: undefined,
: isSet(object.default_priority)
? globalThis.Number(object.default_priority)
: undefined,
};
},
@@ -829,10 +845,16 @@ export const WorkflowConcurrencyOpts: MessageFns<WorkflowConcurrencyOpts> = {
fromJSON(object: any): WorkflowConcurrencyOpts {
return {
action: isSet(object.action) ? globalThis.String(object.action) : undefined,
maxRuns: isSet(object.maxRuns) ? globalThis.Number(object.maxRuns) : undefined,
maxRuns: isSet(object.maxRuns)
? globalThis.Number(object.maxRuns)
: isSet(object.max_runs)
? globalThis.Number(object.max_runs)
: undefined,
limitStrategy: isSet(object.limitStrategy)
? concurrencyLimitStrategyFromJSON(object.limitStrategy)
: undefined,
: isSet(object.limit_strategy)
? concurrencyLimitStrategyFromJSON(object.limit_strategy)
: undefined,
expression: isSet(object.expression) ? globalThis.String(object.expression) : undefined,
};
},
@@ -1003,12 +1025,14 @@ export const CreateWorkflowStepOpts: MessageFns<CreateWorkflowStepOpts> = {
for (const v of message.rateLimits) {
CreateStepRateLimit.encode(v!, writer.uint32(66).fork()).join();
}
Object.entries(message.workerLabels).forEach(([key, value]) => {
CreateWorkflowStepOpts_WorkerLabelsEntry.encode(
{ key: key as any, value },
writer.uint32(74).fork()
).join();
});
globalThis.Object.entries(message.workerLabels).forEach(
([key, value]: [string, DesiredWorkerLabels]) => {
CreateWorkflowStepOpts_WorkerLabelsEntry.encode(
{ key: key as any, value },
writer.uint32(74).fork()
).join();
}
);
if (message.backoffFactor !== undefined) {
writer.uint32(85).float(message.backoffFactor);
}
@@ -1127,33 +1151,55 @@ export const CreateWorkflowStepOpts: MessageFns<CreateWorkflowStepOpts> = {
fromJSON(object: any): CreateWorkflowStepOpts {
return {
readableId: isSet(object.readableId) ? globalThis.String(object.readableId) : '',
readableId: isSet(object.readableId)
? globalThis.String(object.readableId)
: isSet(object.readable_id)
? globalThis.String(object.readable_id)
: '',
action: isSet(object.action) ? globalThis.String(object.action) : '',
timeout: isSet(object.timeout) ? globalThis.String(object.timeout) : '',
inputs: isSet(object.inputs) ? globalThis.String(object.inputs) : '',
parents: globalThis.Array.isArray(object?.parents)
? object.parents.map((e: any) => globalThis.String(e))
: [],
userData: isSet(object.userData) ? globalThis.String(object.userData) : '',
userData: isSet(object.userData)
? globalThis.String(object.userData)
: isSet(object.user_data)
? globalThis.String(object.user_data)
: '',
retries: isSet(object.retries) ? globalThis.Number(object.retries) : 0,
rateLimits: globalThis.Array.isArray(object?.rateLimits)
? object.rateLimits.map((e: any) => CreateStepRateLimit.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.rate_limits)
? object.rate_limits.map((e: any) => CreateStepRateLimit.fromJSON(e))
: [],
workerLabels: isObject(object.workerLabels)
? Object.entries(object.workerLabels).reduce<{ [key: string]: DesiredWorkerLabels }>(
(acc, [key, value]) => {
? (globalThis.Object.entries(object.workerLabels) as [string, any][]).reduce(
(acc: { [key: string]: DesiredWorkerLabels }, [key, value]: [string, any]) => {
acc[key] = DesiredWorkerLabels.fromJSON(value);
return acc;
},
{}
)
: {},
: isObject(object.worker_labels)
? (globalThis.Object.entries(object.worker_labels) as [string, any][]).reduce(
(acc: { [key: string]: DesiredWorkerLabels }, [key, value]: [string, any]) => {
acc[key] = DesiredWorkerLabels.fromJSON(value);
return acc;
},
{}
)
: {},
backoffFactor: isSet(object.backoffFactor)
? globalThis.Number(object.backoffFactor)
: undefined,
: isSet(object.backoff_factor)
? globalThis.Number(object.backoff_factor)
: undefined,
backoffMaxSeconds: isSet(object.backoffMaxSeconds)
? globalThis.Number(object.backoffMaxSeconds)
: undefined,
: isSet(object.backoff_max_seconds)
? globalThis.Number(object.backoff_max_seconds)
: undefined,
};
},
@@ -1184,7 +1230,10 @@ export const CreateWorkflowStepOpts: MessageFns<CreateWorkflowStepOpts> = {
obj.rateLimits = message.rateLimits.map((e) => CreateStepRateLimit.toJSON(e));
}
if (message.workerLabels) {
const entries = Object.entries(message.workerLabels);
const entries = globalThis.Object.entries(message.workerLabels) as [
string,
DesiredWorkerLabels,
][];
if (entries.length > 0) {
obj.workerLabels = {};
entries.forEach(([k, v]) => {
@@ -1214,14 +1263,20 @@ export const CreateWorkflowStepOpts: MessageFns<CreateWorkflowStepOpts> = {
message.userData = object.userData ?? '';
message.retries = object.retries ?? 0;
message.rateLimits = object.rateLimits?.map((e) => CreateStepRateLimit.fromPartial(e)) || [];
message.workerLabels = Object.entries(object.workerLabels ?? {}).reduce<{
[key: string]: DesiredWorkerLabels;
}>((acc, [key, value]) => {
if (value !== undefined) {
acc[key] = DesiredWorkerLabels.fromPartial(value);
}
return acc;
}, {});
message.workerLabels = (
globalThis.Object.entries(object.workerLabels ?? {}) as [string, DesiredWorkerLabels][]
).reduce(
(
acc: { [key: string]: DesiredWorkerLabels },
[key, value]: [string, DesiredWorkerLabels]
) => {
if (value !== undefined) {
acc[key] = DesiredWorkerLabels.fromPartial(value);
}
return acc;
},
{}
);
message.backoffFactor = object.backoffFactor ?? undefined;
message.backoffMaxSeconds = object.backoffMaxSeconds ?? undefined;
return message;
@@ -1420,11 +1475,21 @@ export const CreateStepRateLimit: MessageFns<CreateStepRateLimit> = {
return {
key: isSet(object.key) ? globalThis.String(object.key) : '',
units: isSet(object.units) ? globalThis.Number(object.units) : undefined,
keyExpr: isSet(object.keyExpr) ? globalThis.String(object.keyExpr) : undefined,
unitsExpr: isSet(object.unitsExpr) ? globalThis.String(object.unitsExpr) : undefined,
keyExpr: isSet(object.keyExpr)
? globalThis.String(object.keyExpr)
: isSet(object.key_expr)
? globalThis.String(object.key_expr)
: undefined,
unitsExpr: isSet(object.unitsExpr)
? globalThis.String(object.unitsExpr)
: isSet(object.units_expr)
? globalThis.String(object.units_expr)
: undefined,
limitValuesExpr: isSet(object.limitValuesExpr)
? globalThis.String(object.limitValuesExpr)
: undefined,
: isSet(object.limit_values_expr)
? globalThis.String(object.limit_values_expr)
: undefined,
duration: isSet(object.duration) ? rateLimitDurationFromJSON(object.duration) : undefined,
};
},
@@ -1654,15 +1719,31 @@ export const ScheduleWorkflowRequest: MessageFns<ScheduleWorkflowRequest> = {
? object.schedules.map((e: any) => fromJsonTimestamp(e))
: [],
input: isSet(object.input) ? globalThis.String(object.input) : '',
parentId: isSet(object.parentId) ? globalThis.String(object.parentId) : undefined,
parentId: isSet(object.parentId)
? globalThis.String(object.parentId)
: isSet(object.parent_id)
? globalThis.String(object.parent_id)
: undefined,
parentTaskRunExternalId: isSet(object.parentTaskRunExternalId)
? globalThis.String(object.parentTaskRunExternalId)
: undefined,
childIndex: isSet(object.childIndex) ? globalThis.Number(object.childIndex) : undefined,
childKey: isSet(object.childKey) ? globalThis.String(object.childKey) : undefined,
: isSet(object.parent_task_run_external_id)
? globalThis.String(object.parent_task_run_external_id)
: undefined,
childIndex: isSet(object.childIndex)
? globalThis.Number(object.childIndex)
: isSet(object.child_index)
? globalThis.Number(object.child_index)
: undefined,
childKey: isSet(object.childKey)
? globalThis.String(object.childKey)
: isSet(object.child_key)
? globalThis.String(object.child_key)
: undefined,
additionalMetadata: isSet(object.additionalMetadata)
? globalThis.String(object.additionalMetadata)
: undefined,
: isSet(object.additional_metadata)
? globalThis.String(object.additional_metadata)
: undefined,
priority: isSet(object.priority) ? globalThis.Number(object.priority) : undefined,
};
},
@@ -1767,7 +1848,11 @@ export const ScheduledWorkflow: MessageFns<ScheduledWorkflow> = {
fromJSON(object: any): ScheduledWorkflow {
return {
id: isSet(object.id) ? globalThis.String(object.id) : '',
triggerAt: isSet(object.triggerAt) ? fromJsonTimestamp(object.triggerAt) : undefined,
triggerAt: isSet(object.triggerAt)
? fromJsonTimestamp(object.triggerAt)
: isSet(object.trigger_at)
? fromJsonTimestamp(object.trigger_at)
: undefined,
};
},
@@ -1906,14 +1991,28 @@ export const WorkflowVersion: MessageFns<WorkflowVersion> = {
fromJSON(object: any): WorkflowVersion {
return {
id: isSet(object.id) ? globalThis.String(object.id) : '',
createdAt: isSet(object.createdAt) ? fromJsonTimestamp(object.createdAt) : undefined,
updatedAt: isSet(object.updatedAt) ? fromJsonTimestamp(object.updatedAt) : undefined,
createdAt: isSet(object.createdAt)
? fromJsonTimestamp(object.createdAt)
: isSet(object.created_at)
? fromJsonTimestamp(object.created_at)
: undefined,
updatedAt: isSet(object.updatedAt)
? fromJsonTimestamp(object.updatedAt)
: isSet(object.updated_at)
? fromJsonTimestamp(object.updated_at)
: undefined,
version: isSet(object.version) ? globalThis.String(object.version) : '',
order: isSet(object.order) ? globalThis.Number(object.order) : 0,
workflowId: isSet(object.workflowId) ? globalThis.String(object.workflowId) : '',
workflowId: isSet(object.workflowId)
? globalThis.String(object.workflowId)
: isSet(object.workflow_id)
? globalThis.String(object.workflow_id)
: '',
scheduledWorkflows: globalThis.Array.isArray(object?.scheduledWorkflows)
? object.scheduledWorkflows.map((e: any) => ScheduledWorkflow.fromJSON(e))
: [],
: globalThis.Array.isArray(object?.scheduled_workflows)
? object.scheduled_workflows.map((e: any) => ScheduledWorkflow.fromJSON(e))
: [],
};
},
@@ -2012,8 +2111,16 @@ export const WorkflowTriggerEventRef: MessageFns<WorkflowTriggerEventRef> = {
fromJSON(object: any): WorkflowTriggerEventRef {
return {
parentId: isSet(object.parentId) ? globalThis.String(object.parentId) : '',
eventKey: isSet(object.eventKey) ? globalThis.String(object.eventKey) : '',
parentId: isSet(object.parentId)
? globalThis.String(object.parentId)
: isSet(object.parent_id)
? globalThis.String(object.parent_id)
: '',
eventKey: isSet(object.eventKey)
? globalThis.String(object.eventKey)
: isSet(object.event_key)
? globalThis.String(object.event_key)
: '',
};
},
@@ -2088,7 +2195,11 @@ export const WorkflowTriggerCronRef: MessageFns<WorkflowTriggerCronRef> = {
fromJSON(object: any): WorkflowTriggerCronRef {
return {
parentId: isSet(object.parentId) ? globalThis.String(object.parentId) : '',
parentId: isSet(object.parentId)
? globalThis.String(object.parentId)
: isSet(object.parent_id)
? globalThis.String(object.parent_id)
: '',
cron: isSet(object.cron) ? globalThis.String(object.cron) : '',
};
},
@@ -2223,7 +2334,9 @@ export const BulkTriggerWorkflowResponse: MessageFns<BulkTriggerWorkflowResponse
return {
workflowRunIds: globalThis.Array.isArray(object?.workflowRunIds)
? object.workflowRunIds.map((e: any) => globalThis.String(e))
: [],
: globalThis.Array.isArray(object?.workflow_run_ids)
? object.workflow_run_ids.map((e: any) => globalThis.String(e))
: [],
};
},
@@ -2286,7 +2399,11 @@ export const TriggerWorkflowResponse: MessageFns<TriggerWorkflowResponse> = {
fromJSON(object: any): TriggerWorkflowResponse {
return {
workflowRunId: isSet(object.workflowRunId) ? globalThis.String(object.workflowRunId) : '',
workflowRunId: isSet(object.workflowRunId)
? globalThis.String(object.workflowRunId)
: isSet(object.workflow_run_id)
? globalThis.String(object.workflow_run_id)
: '',
};
},