{"version":3,"file":"connect.cjs","names":["ConnectMessage: MessageFns<ConnectMessage>","BinaryWriter","BinaryReader","obj: any","AppConfiguration: MessageFns<AppConfiguration>","AuthData: MessageFns<AuthData>","WorkerConnectRequestData: MessageFns<WorkerConnectRequestData>","Timestamp","GatewayConnectionReadyData: MessageFns<GatewayConnectionReadyData>","GatewayExecutorRequestData: MessageFns<GatewayExecutorRequestData>","WorkerRequestAckData: MessageFns<WorkerRequestAckData>","WorkerRequestExtendLeaseData: MessageFns<WorkerRequestExtendLeaseData>","WorkerRequestExtendLeaseAckData: MessageFns<WorkerRequestExtendLeaseAckData>","SDKResponse: MessageFns<SDKResponse>","WorkerReplyAckData: MessageFns<WorkerReplyAckData>","SystemAttributes: MessageFns<SystemAttributes>","StartResponse: MessageFns<StartResponse>","StartRequest: MessageFns<StartRequest>","FlushResponse: MessageFns<FlushResponse>","bin: string[]"],"sources":["../../../../../../src/proto/src/components/connect/protobuf/connect.ts"],"sourcesContent":["// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n//   protoc-gen-ts_proto  v2.6.1\n//   protoc               v5.29.5\n// source: src/components/connect/protobuf/connect.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\n\nexport const protobufPackage = \"connect.v1\";\n\nexport enum GatewayMessageType {\n  GATEWAY_HELLO = 0,\n  WORKER_CONNECT = 1,\n  SYNC_FAILED = 14,\n  GATEWAY_CONNECTION_READY = 2,\n  GATEWAY_EXECUTOR_REQUEST = 3,\n  WORKER_READY = 4,\n  WORKER_REQUEST_ACK = 5,\n  WORKER_REQUEST_EXTEND_LEASE = 12,\n  WORKER_REQUEST_EXTEND_LEASE_ACK = 13,\n  WORKER_REPLY = 6,\n  WORKER_REPLY_ACK = 7,\n  WORKER_PAUSE = 8,\n  WORKER_HEARTBEAT = 9,\n  GATEWAY_HEARTBEAT = 10,\n  GATEWAY_CLOSING = 11,\n  UNRECOGNIZED = -1,\n}\n\nexport function gatewayMessageTypeFromJSON(object: any): GatewayMessageType {\n  switch (object) {\n    case 0:\n    case \"GATEWAY_HELLO\":\n      return GatewayMessageType.GATEWAY_HELLO;\n    case 1:\n    case \"WORKER_CONNECT\":\n      return GatewayMessageType.WORKER_CONNECT;\n    case 14:\n    case \"SYNC_FAILED\":\n      return GatewayMessageType.SYNC_FAILED;\n    case 2:\n    case \"GATEWAY_CONNECTION_READY\":\n      return GatewayMessageType.GATEWAY_CONNECTION_READY;\n    case 3:\n    case \"GATEWAY_EXECUTOR_REQUEST\":\n      return GatewayMessageType.GATEWAY_EXECUTOR_REQUEST;\n    case 4:\n    case \"WORKER_READY\":\n      return GatewayMessageType.WORKER_READY;\n    case 5:\n    case \"WORKER_REQUEST_ACK\":\n      return GatewayMessageType.WORKER_REQUEST_ACK;\n    case 12:\n    case \"WORKER_REQUEST_EXTEND_LEASE\":\n      return GatewayMessageType.WORKER_REQUEST_EXTEND_LEASE;\n    case 13:\n    case \"WORKER_REQUEST_EXTEND_LEASE_ACK\":\n      return GatewayMessageType.WORKER_REQUEST_EXTEND_LEASE_ACK;\n    case 6:\n    case \"WORKER_REPLY\":\n      return GatewayMessageType.WORKER_REPLY;\n    case 7:\n    case \"WORKER_REPLY_ACK\":\n      return GatewayMessageType.WORKER_REPLY_ACK;\n    case 8:\n    case \"WORKER_PAUSE\":\n      return GatewayMessageType.WORKER_PAUSE;\n    case 9:\n    case \"WORKER_HEARTBEAT\":\n      return GatewayMessageType.WORKER_HEARTBEAT;\n    case 10:\n    case \"GATEWAY_HEARTBEAT\":\n      return GatewayMessageType.GATEWAY_HEARTBEAT;\n    case 11:\n    case \"GATEWAY_CLOSING\":\n      return GatewayMessageType.GATEWAY_CLOSING;\n    case -1:\n    case \"UNRECOGNIZED\":\n    default:\n      return GatewayMessageType.UNRECOGNIZED;\n  }\n}\n\nexport function gatewayMessageTypeToJSON(object: GatewayMessageType): string {\n  switch (object) {\n    case GatewayMessageType.GATEWAY_HELLO:\n      return \"GATEWAY_HELLO\";\n    case GatewayMessageType.WORKER_CONNECT:\n      return \"WORKER_CONNECT\";\n    case GatewayMessageType.SYNC_FAILED:\n      return \"SYNC_FAILED\";\n    case GatewayMessageType.GATEWAY_CONNECTION_READY:\n      return \"GATEWAY_CONNECTION_READY\";\n    case GatewayMessageType.GATEWAY_EXECUTOR_REQUEST:\n      return \"GATEWAY_EXECUTOR_REQUEST\";\n    case GatewayMessageType.WORKER_READY:\n      return \"WORKER_READY\";\n    case GatewayMessageType.WORKER_REQUEST_ACK:\n      return \"WORKER_REQUEST_ACK\";\n    case GatewayMessageType.WORKER_REQUEST_EXTEND_LEASE:\n      return \"WORKER_REQUEST_EXTEND_LEASE\";\n    case GatewayMessageType.WORKER_REQUEST_EXTEND_LEASE_ACK:\n      return \"WORKER_REQUEST_EXTEND_LEASE_ACK\";\n    case GatewayMessageType.WORKER_REPLY:\n      return \"WORKER_REPLY\";\n    case GatewayMessageType.WORKER_REPLY_ACK:\n      return \"WORKER_REPLY_ACK\";\n    case GatewayMessageType.WORKER_PAUSE:\n      return \"WORKER_PAUSE\";\n    case GatewayMessageType.WORKER_HEARTBEAT:\n      return \"WORKER_HEARTBEAT\";\n    case GatewayMessageType.GATEWAY_HEARTBEAT:\n      return \"GATEWAY_HEARTBEAT\";\n    case GatewayMessageType.GATEWAY_CLOSING:\n      return \"GATEWAY_CLOSING\";\n    case GatewayMessageType.UNRECOGNIZED:\n    default:\n      return \"UNRECOGNIZED\";\n  }\n}\n\nexport enum SDKResponseStatus {\n  NOT_COMPLETED = 0,\n  DONE = 1,\n  ERROR = 2,\n  UNRECOGNIZED = -1,\n}\n\nexport function sDKResponseStatusFromJSON(object: any): SDKResponseStatus {\n  switch (object) {\n    case 0:\n    case \"NOT_COMPLETED\":\n      return SDKResponseStatus.NOT_COMPLETED;\n    case 1:\n    case \"DONE\":\n      return SDKResponseStatus.DONE;\n    case 2:\n    case \"ERROR\":\n      return SDKResponseStatus.ERROR;\n    case -1:\n    case \"UNRECOGNIZED\":\n    default:\n      return SDKResponseStatus.UNRECOGNIZED;\n  }\n}\n\nexport function sDKResponseStatusToJSON(object: SDKResponseStatus): string {\n  switch (object) {\n    case SDKResponseStatus.NOT_COMPLETED:\n      return \"NOT_COMPLETED\";\n    case SDKResponseStatus.DONE:\n      return \"DONE\";\n    case SDKResponseStatus.ERROR:\n      return \"ERROR\";\n    case SDKResponseStatus.UNRECOGNIZED:\n    default:\n      return \"UNRECOGNIZED\";\n  }\n}\n\nexport enum ConnectionStatus {\n  CONNECTED = 0,\n  READY = 1,\n  DRAINING = 2,\n  DISCONNECTING = 3,\n  DISCONNECTED = 4,\n  UNRECOGNIZED = -1,\n}\n\nexport function connectionStatusFromJSON(object: any): ConnectionStatus {\n  switch (object) {\n    case 0:\n    case \"CONNECTED\":\n      return ConnectionStatus.CONNECTED;\n    case 1:\n    case \"READY\":\n      return ConnectionStatus.READY;\n    case 2:\n    case \"DRAINING\":\n      return ConnectionStatus.DRAINING;\n    case 3:\n    case \"DISCONNECTING\":\n      return ConnectionStatus.DISCONNECTING;\n    case 4:\n    case \"DISCONNECTED\":\n      return ConnectionStatus.DISCONNECTED;\n    case -1:\n    case \"UNRECOGNIZED\":\n    default:\n      return ConnectionStatus.UNRECOGNIZED;\n  }\n}\n\nexport function connectionStatusToJSON(object: ConnectionStatus): string {\n  switch (object) {\n    case ConnectionStatus.CONNECTED:\n      return \"CONNECTED\";\n    case ConnectionStatus.READY:\n      return \"READY\";\n    case ConnectionStatus.DRAINING:\n      return \"DRAINING\";\n    case ConnectionStatus.DISCONNECTING:\n      return \"DISCONNECTING\";\n    case ConnectionStatus.DISCONNECTED:\n      return \"DISCONNECTED\";\n    case ConnectionStatus.UNRECOGNIZED:\n    default:\n      return \"UNRECOGNIZED\";\n  }\n}\n\nexport enum WorkerDisconnectReason {\n  WORKER_SHUTDOWN = 0,\n  UNEXPECTED = 1,\n  GATEWAY_DRAINING = 2,\n  CONSECUTIVE_HEARTBEATS_MISSED = 3,\n  MESSAGE_TOO_LARGE = 4,\n  UNRECOGNIZED = -1,\n}\n\nexport function workerDisconnectReasonFromJSON(object: any): WorkerDisconnectReason {\n  switch (object) {\n    case 0:\n    case \"WORKER_SHUTDOWN\":\n      return WorkerDisconnectReason.WORKER_SHUTDOWN;\n    case 1:\n    case \"UNEXPECTED\":\n      return WorkerDisconnectReason.UNEXPECTED;\n    case 2:\n    case \"GATEWAY_DRAINING\":\n      return WorkerDisconnectReason.GATEWAY_DRAINING;\n    case 3:\n    case \"CONSECUTIVE_HEARTBEATS_MISSED\":\n      return WorkerDisconnectReason.CONSECUTIVE_HEARTBEATS_MISSED;\n    case 4:\n    case \"MESSAGE_TOO_LARGE\":\n      return WorkerDisconnectReason.MESSAGE_TOO_LARGE;\n    case -1:\n    case \"UNRECOGNIZED\":\n    default:\n      return WorkerDisconnectReason.UNRECOGNIZED;\n  }\n}\n\nexport function workerDisconnectReasonToJSON(object: WorkerDisconnectReason): string {\n  switch (object) {\n    case WorkerDisconnectReason.WORKER_SHUTDOWN:\n      return \"WORKER_SHUTDOWN\";\n    case WorkerDisconnectReason.UNEXPECTED:\n      return \"UNEXPECTED\";\n    case WorkerDisconnectReason.GATEWAY_DRAINING:\n      return \"GATEWAY_DRAINING\";\n    case WorkerDisconnectReason.CONSECUTIVE_HEARTBEATS_MISSED:\n      return \"CONSECUTIVE_HEARTBEATS_MISSED\";\n    case WorkerDisconnectReason.MESSAGE_TOO_LARGE:\n      return \"MESSAGE_TOO_LARGE\";\n    case WorkerDisconnectReason.UNRECOGNIZED:\n    default:\n      return \"UNRECOGNIZED\";\n  }\n}\n\nexport interface ConnectMessage {\n  kind: GatewayMessageType;\n  payload: Uint8Array;\n}\n\nexport interface AppConfiguration {\n  appName: string;\n  appVersion?: string | undefined;\n  functions: Uint8Array;\n}\n\nexport interface AuthData {\n  sessionToken: string;\n  syncToken: string;\n}\n\nexport interface WorkerConnectRequestData {\n  connectionId: string;\n  instanceId: string;\n  authData: AuthData | undefined;\n  capabilities: Uint8Array;\n  apps: AppConfiguration[];\n  workerManualReadinessAck: boolean;\n  systemAttributes: SystemAttributes | undefined;\n  environment?: string | undefined;\n  framework: string;\n  platform?: string | undefined;\n  sdkVersion: string;\n  sdkLanguage: string;\n  startedAt: Date | undefined;\n  maxWorkerConcurrency?: number | undefined;\n}\n\nexport interface GatewayConnectionReadyData {\n  heartbeatInterval: string;\n  extendLeaseInterval: string;\n}\n\nexport interface GatewayExecutorRequestData {\n  requestId: string;\n  accountId: string;\n  envId: string;\n  appId: string;\n  appName: string;\n  functionId: string;\n  functionSlug: string;\n  stepId?: string | undefined;\n  requestPayload: Uint8Array;\n  systemTraceCtx: Uint8Array;\n  userTraceCtx: Uint8Array;\n  runId: string;\n  leaseId: string;\n}\n\nexport interface WorkerRequestAckData {\n  requestId: string;\n  accountId: string;\n  envId: string;\n  appId: string;\n  functionSlug: string;\n  stepId?: string | undefined;\n  systemTraceCtx: Uint8Array;\n  userTraceCtx: Uint8Array;\n  runId: string;\n}\n\nexport interface WorkerRequestExtendLeaseData {\n  requestId: string;\n  accountId: string;\n  envId: string;\n  appId: string;\n  functionSlug: string;\n  stepId?: string | undefined;\n  systemTraceCtx: Uint8Array;\n  userTraceCtx: Uint8Array;\n  runId: string;\n  leaseId: string;\n}\n\nexport interface WorkerRequestExtendLeaseAckData {\n  requestId: string;\n  accountId: string;\n  envId: string;\n  appId: string;\n  functionSlug: string;\n  newLeaseId?: string | undefined;\n}\n\nexport interface SDKResponse {\n  requestId: string;\n  accountId: string;\n  envId: string;\n  appId: string;\n  status: SDKResponseStatus;\n  body: Uint8Array;\n  noRetry: boolean;\n  retryAfter?: string | undefined;\n  sdkVersion: string;\n  requestVersion: number;\n  systemTraceCtx: Uint8Array;\n  userTraceCtx: Uint8Array;\n  runId: string;\n}\n\nexport interface WorkerReplyAckData {\n  requestId: string;\n}\n\n/** Connection metadata */\nexport interface ConnMetadata {\n  id: string;\n  gatewayId: string;\n  instanceId: string;\n  allWorkerGroups: { [key: string]: string };\n  syncedWorkerGroups: { [key: string]: string };\n  status: ConnectionStatus;\n  lastHeartbeatAt: Date | undefined;\n  sdkLanguage: string;\n  sdkVersion: string;\n  attributes: SystemAttributes | undefined;\n}\n\nexport interface ConnMetadata_AllWorkerGroupsEntry {\n  key: string;\n  value: string;\n}\n\nexport interface ConnMetadata_SyncedWorkerGroupsEntry {\n  key: string;\n  value: string;\n}\n\nexport interface SystemAttributes {\n  cpuCores: number;\n  memBytes: number;\n  os: string;\n}\n\nexport interface ConnGroup {\n  envId: string;\n  appId: string;\n  appName: string;\n  hash: string;\n  conns: ConnMetadata[];\n  syncId?: string | undefined;\n  appVersion?: string | undefined;\n}\n\nexport interface StartResponse {\n  connectionId: string;\n  gatewayEndpoint: string;\n  gatewayGroup: string;\n  sessionToken: string;\n  syncToken: string;\n}\n\nexport interface StartRequest {\n  excludeGateways: string[];\n}\n\nexport interface FlushResponse {\n  requestId: string;\n}\n\nexport interface PubSubAckMessage {\n  ts: Date | undefined;\n  nack?: boolean | undefined;\n  nackReason?: SystemError | undefined;\n}\n\nexport interface SystemError {\n  code: string;\n  data?: Uint8Array | undefined;\n  message: string;\n}\n\nfunction createBaseConnectMessage(): ConnectMessage {\n  return { kind: 0, payload: new Uint8Array(0) };\n}\n\nexport const ConnectMessage: MessageFns<ConnectMessage> = {\n  encode(message: ConnectMessage, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.kind !== 0) {\n      writer.uint32(8).int32(message.kind);\n    }\n    if (message.payload.length !== 0) {\n      writer.uint32(18).bytes(message.payload);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): ConnectMessage {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseConnectMessage();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 8) {\n            break;\n          }\n\n          message.kind = reader.int32() as any;\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.payload = reader.bytes();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): ConnectMessage {\n    return {\n      kind: isSet(object.kind) ? gatewayMessageTypeFromJSON(object.kind) : 0,\n      payload: isSet(object.payload) ? bytesFromBase64(object.payload) : new Uint8Array(0),\n    };\n  },\n\n  toJSON(message: ConnectMessage): unknown {\n    const obj: any = {};\n    if (message.kind !== 0) {\n      obj.kind = gatewayMessageTypeToJSON(message.kind);\n    }\n    if (message.payload.length !== 0) {\n      obj.payload = base64FromBytes(message.payload);\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<ConnectMessage>, I>>(base?: I): ConnectMessage {\n    return ConnectMessage.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<ConnectMessage>, I>>(object: I): ConnectMessage {\n    const message = createBaseConnectMessage();\n    message.kind = object.kind ?? 0;\n    message.payload = object.payload ?? new Uint8Array(0);\n    return message;\n  },\n};\n\nfunction createBaseAppConfiguration(): AppConfiguration {\n  return { appName: \"\", appVersion: undefined, functions: new Uint8Array(0) };\n}\n\nexport const AppConfiguration: MessageFns<AppConfiguration> = {\n  encode(message: AppConfiguration, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.appName !== \"\") {\n      writer.uint32(10).string(message.appName);\n    }\n    if (message.appVersion !== undefined) {\n      writer.uint32(18).string(message.appVersion);\n    }\n    if (message.functions.length !== 0) {\n      writer.uint32(34).bytes(message.functions);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): AppConfiguration {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseAppConfiguration();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.appName = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.appVersion = reader.string();\n          continue;\n        }\n        case 4: {\n          if (tag !== 34) {\n            break;\n          }\n\n          message.functions = reader.bytes();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): AppConfiguration {\n    return {\n      appName: isSet(object.appName) ? globalThis.String(object.appName) : \"\",\n      appVersion: isSet(object.appVersion) ? globalThis.String(object.appVersion) : undefined,\n      functions: isSet(object.functions) ? bytesFromBase64(object.functions) : new Uint8Array(0),\n    };\n  },\n\n  toJSON(message: AppConfiguration): unknown {\n    const obj: any = {};\n    if (message.appName !== \"\") {\n      obj.appName = message.appName;\n    }\n    if (message.appVersion !== undefined) {\n      obj.appVersion = message.appVersion;\n    }\n    if (message.functions.length !== 0) {\n      obj.functions = base64FromBytes(message.functions);\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<AppConfiguration>, I>>(base?: I): AppConfiguration {\n    return AppConfiguration.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<AppConfiguration>, I>>(object: I): AppConfiguration {\n    const message = createBaseAppConfiguration();\n    message.appName = object.appName ?? \"\";\n    message.appVersion = object.appVersion ?? undefined;\n    message.functions = object.functions ?? new Uint8Array(0);\n    return message;\n  },\n};\n\nfunction createBaseAuthData(): AuthData {\n  return { sessionToken: \"\", syncToken: \"\" };\n}\n\nexport const AuthData: MessageFns<AuthData> = {\n  encode(message: AuthData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.sessionToken !== \"\") {\n      writer.uint32(10).string(message.sessionToken);\n    }\n    if (message.syncToken !== \"\") {\n      writer.uint32(18).string(message.syncToken);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): AuthData {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseAuthData();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.sessionToken = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.syncToken = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): AuthData {\n    return {\n      sessionToken: isSet(object.sessionToken) ? globalThis.String(object.sessionToken) : \"\",\n      syncToken: isSet(object.syncToken) ? globalThis.String(object.syncToken) : \"\",\n    };\n  },\n\n  toJSON(message: AuthData): unknown {\n    const obj: any = {};\n    if (message.sessionToken !== \"\") {\n      obj.sessionToken = message.sessionToken;\n    }\n    if (message.syncToken !== \"\") {\n      obj.syncToken = message.syncToken;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<AuthData>, I>>(base?: I): AuthData {\n    return AuthData.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<AuthData>, I>>(object: I): AuthData {\n    const message = createBaseAuthData();\n    message.sessionToken = object.sessionToken ?? \"\";\n    message.syncToken = object.syncToken ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseWorkerConnectRequestData(): WorkerConnectRequestData {\n  return {\n    connectionId: \"\",\n    instanceId: \"\",\n    authData: undefined,\n    capabilities: new Uint8Array(0),\n    apps: [],\n    workerManualReadinessAck: false,\n    systemAttributes: undefined,\n    environment: undefined,\n    framework: \"\",\n    platform: undefined,\n    sdkVersion: \"\",\n    sdkLanguage: \"\",\n    startedAt: undefined,\n    maxWorkerConcurrency: undefined,\n  };\n}\n\nexport const WorkerConnectRequestData: MessageFns<WorkerConnectRequestData> = {\n  encode(message: WorkerConnectRequestData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.connectionId !== \"\") {\n      writer.uint32(10).string(message.connectionId);\n    }\n    if (message.instanceId !== \"\") {\n      writer.uint32(18).string(message.instanceId);\n    }\n    if (message.authData !== undefined) {\n      AuthData.encode(message.authData, writer.uint32(26).fork()).join();\n    }\n    if (message.capabilities.length !== 0) {\n      writer.uint32(34).bytes(message.capabilities);\n    }\n    for (const v of message.apps) {\n      AppConfiguration.encode(v!, writer.uint32(42).fork()).join();\n    }\n    if (message.workerManualReadinessAck !== false) {\n      writer.uint32(48).bool(message.workerManualReadinessAck);\n    }\n    if (message.systemAttributes !== undefined) {\n      SystemAttributes.encode(message.systemAttributes, writer.uint32(58).fork()).join();\n    }\n    if (message.environment !== undefined) {\n      writer.uint32(66).string(message.environment);\n    }\n    if (message.framework !== \"\") {\n      writer.uint32(74).string(message.framework);\n    }\n    if (message.platform !== undefined) {\n      writer.uint32(82).string(message.platform);\n    }\n    if (message.sdkVersion !== \"\") {\n      writer.uint32(90).string(message.sdkVersion);\n    }\n    if (message.sdkLanguage !== \"\") {\n      writer.uint32(98).string(message.sdkLanguage);\n    }\n    if (message.startedAt !== undefined) {\n      Timestamp.encode(toTimestamp(message.startedAt), writer.uint32(106).fork()).join();\n    }\n    if (message.maxWorkerConcurrency !== undefined) {\n      writer.uint32(112).int64(message.maxWorkerConcurrency);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): WorkerConnectRequestData {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseWorkerConnectRequestData();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.connectionId = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.instanceId = reader.string();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.authData = AuthData.decode(reader, reader.uint32());\n          continue;\n        }\n        case 4: {\n          if (tag !== 34) {\n            break;\n          }\n\n          message.capabilities = reader.bytes();\n          continue;\n        }\n        case 5: {\n          if (tag !== 42) {\n            break;\n          }\n\n          message.apps.push(AppConfiguration.decode(reader, reader.uint32()));\n          continue;\n        }\n        case 6: {\n          if (tag !== 48) {\n            break;\n          }\n\n          message.workerManualReadinessAck = reader.bool();\n          continue;\n        }\n        case 7: {\n          if (tag !== 58) {\n            break;\n          }\n\n          message.systemAttributes = SystemAttributes.decode(reader, reader.uint32());\n          continue;\n        }\n        case 8: {\n          if (tag !== 66) {\n            break;\n          }\n\n          message.environment = reader.string();\n          continue;\n        }\n        case 9: {\n          if (tag !== 74) {\n            break;\n          }\n\n          message.framework = reader.string();\n          continue;\n        }\n        case 10: {\n          if (tag !== 82) {\n            break;\n          }\n\n          message.platform = reader.string();\n          continue;\n        }\n        case 11: {\n          if (tag !== 90) {\n            break;\n          }\n\n          message.sdkVersion = reader.string();\n          continue;\n        }\n        case 12: {\n          if (tag !== 98) {\n            break;\n          }\n\n          message.sdkLanguage = reader.string();\n          continue;\n        }\n        case 13: {\n          if (tag !== 106) {\n            break;\n          }\n\n          message.startedAt = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n          continue;\n        }\n        case 14: {\n          if (tag !== 112) {\n            break;\n          }\n\n          message.maxWorkerConcurrency = longToNumber(reader.int64());\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): WorkerConnectRequestData {\n    return {\n      connectionId: isSet(object.connectionId) ? globalThis.String(object.connectionId) : \"\",\n      instanceId: isSet(object.instanceId) ? globalThis.String(object.instanceId) : \"\",\n      authData: isSet(object.authData) ? AuthData.fromJSON(object.authData) : undefined,\n      capabilities: isSet(object.capabilities) ? bytesFromBase64(object.capabilities) : new Uint8Array(0),\n      apps: globalThis.Array.isArray(object?.apps) ? object.apps.map((e: any) => AppConfiguration.fromJSON(e)) : [],\n      workerManualReadinessAck: isSet(object.workerManualReadinessAck)\n        ? globalThis.Boolean(object.workerManualReadinessAck)\n        : false,\n      systemAttributes: isSet(object.systemAttributes) ? SystemAttributes.fromJSON(object.systemAttributes) : undefined,\n      environment: isSet(object.environment) ? globalThis.String(object.environment) : undefined,\n      framework: isSet(object.framework) ? globalThis.String(object.framework) : \"\",\n      platform: isSet(object.platform) ? globalThis.String(object.platform) : undefined,\n      sdkVersion: isSet(object.sdkVersion) ? globalThis.String(object.sdkVersion) : \"\",\n      sdkLanguage: isSet(object.sdkLanguage) ? globalThis.String(object.sdkLanguage) : \"\",\n      startedAt: isSet(object.startedAt) ? fromJsonTimestamp(object.startedAt) : undefined,\n      maxWorkerConcurrency: isSet(object.maxWorkerConcurrency)\n        ? globalThis.Number(object.maxWorkerConcurrency)\n        : undefined,\n    };\n  },\n\n  toJSON(message: WorkerConnectRequestData): unknown {\n    const obj: any = {};\n    if (message.connectionId !== \"\") {\n      obj.connectionId = message.connectionId;\n    }\n    if (message.instanceId !== \"\") {\n      obj.instanceId = message.instanceId;\n    }\n    if (message.authData !== undefined) {\n      obj.authData = AuthData.toJSON(message.authData);\n    }\n    if (message.capabilities.length !== 0) {\n      obj.capabilities = base64FromBytes(message.capabilities);\n    }\n    if (message.apps?.length) {\n      obj.apps = message.apps.map((e) => AppConfiguration.toJSON(e));\n    }\n    if (message.workerManualReadinessAck !== false) {\n      obj.workerManualReadinessAck = message.workerManualReadinessAck;\n    }\n    if (message.systemAttributes !== undefined) {\n      obj.systemAttributes = SystemAttributes.toJSON(message.systemAttributes);\n    }\n    if (message.environment !== undefined) {\n      obj.environment = message.environment;\n    }\n    if (message.framework !== \"\") {\n      obj.framework = message.framework;\n    }\n    if (message.platform !== undefined) {\n      obj.platform = message.platform;\n    }\n    if (message.sdkVersion !== \"\") {\n      obj.sdkVersion = message.sdkVersion;\n    }\n    if (message.sdkLanguage !== \"\") {\n      obj.sdkLanguage = message.sdkLanguage;\n    }\n    if (message.startedAt !== undefined) {\n      obj.startedAt = message.startedAt.toISOString();\n    }\n    if (message.maxWorkerConcurrency !== undefined) {\n      obj.maxWorkerConcurrency = Math.round(message.maxWorkerConcurrency);\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<WorkerConnectRequestData>, I>>(base?: I): WorkerConnectRequestData {\n    return WorkerConnectRequestData.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<WorkerConnectRequestData>, I>>(object: I): WorkerConnectRequestData {\n    const message = createBaseWorkerConnectRequestData();\n    message.connectionId = object.connectionId ?? \"\";\n    message.instanceId = object.instanceId ?? \"\";\n    message.authData = (object.authData !== undefined && object.authData !== null)\n      ? AuthData.fromPartial(object.authData)\n      : undefined;\n    message.capabilities = object.capabilities ?? new Uint8Array(0);\n    message.apps = object.apps?.map((e) => AppConfiguration.fromPartial(e)) || [];\n    message.workerManualReadinessAck = object.workerManualReadinessAck ?? false;\n    message.systemAttributes = (object.systemAttributes !== undefined && object.systemAttributes !== null)\n      ? SystemAttributes.fromPartial(object.systemAttributes)\n      : undefined;\n    message.environment = object.environment ?? undefined;\n    message.framework = object.framework ?? \"\";\n    message.platform = object.platform ?? undefined;\n    message.sdkVersion = object.sdkVersion ?? \"\";\n    message.sdkLanguage = object.sdkLanguage ?? \"\";\n    message.startedAt = object.startedAt ?? undefined;\n    message.maxWorkerConcurrency = object.maxWorkerConcurrency ?? undefined;\n    return message;\n  },\n};\n\nfunction createBaseGatewayConnectionReadyData(): GatewayConnectionReadyData {\n  return { heartbeatInterval: \"\", extendLeaseInterval: \"\" };\n}\n\nexport const GatewayConnectionReadyData: MessageFns<GatewayConnectionReadyData> = {\n  encode(message: GatewayConnectionReadyData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.heartbeatInterval !== \"\") {\n      writer.uint32(10).string(message.heartbeatInterval);\n    }\n    if (message.extendLeaseInterval !== \"\") {\n      writer.uint32(18).string(message.extendLeaseInterval);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): GatewayConnectionReadyData {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseGatewayConnectionReadyData();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.heartbeatInterval = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.extendLeaseInterval = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): GatewayConnectionReadyData {\n    return {\n      heartbeatInterval: isSet(object.heartbeatInterval) ? globalThis.String(object.heartbeatInterval) : \"\",\n      extendLeaseInterval: isSet(object.extendLeaseInterval) ? globalThis.String(object.extendLeaseInterval) : \"\",\n    };\n  },\n\n  toJSON(message: GatewayConnectionReadyData): unknown {\n    const obj: any = {};\n    if (message.heartbeatInterval !== \"\") {\n      obj.heartbeatInterval = message.heartbeatInterval;\n    }\n    if (message.extendLeaseInterval !== \"\") {\n      obj.extendLeaseInterval = message.extendLeaseInterval;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<GatewayConnectionReadyData>, I>>(base?: I): GatewayConnectionReadyData {\n    return GatewayConnectionReadyData.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<GatewayConnectionReadyData>, I>>(object: I): GatewayConnectionReadyData {\n    const message = createBaseGatewayConnectionReadyData();\n    message.heartbeatInterval = object.heartbeatInterval ?? \"\";\n    message.extendLeaseInterval = object.extendLeaseInterval ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseGatewayExecutorRequestData(): GatewayExecutorRequestData {\n  return {\n    requestId: \"\",\n    accountId: \"\",\n    envId: \"\",\n    appId: \"\",\n    appName: \"\",\n    functionId: \"\",\n    functionSlug: \"\",\n    stepId: undefined,\n    requestPayload: new Uint8Array(0),\n    systemTraceCtx: new Uint8Array(0),\n    userTraceCtx: new Uint8Array(0),\n    runId: \"\",\n    leaseId: \"\",\n  };\n}\n\nexport const GatewayExecutorRequestData: MessageFns<GatewayExecutorRequestData> = {\n  encode(message: GatewayExecutorRequestData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.requestId !== \"\") {\n      writer.uint32(10).string(message.requestId);\n    }\n    if (message.accountId !== \"\") {\n      writer.uint32(18).string(message.accountId);\n    }\n    if (message.envId !== \"\") {\n      writer.uint32(26).string(message.envId);\n    }\n    if (message.appId !== \"\") {\n      writer.uint32(34).string(message.appId);\n    }\n    if (message.appName !== \"\") {\n      writer.uint32(42).string(message.appName);\n    }\n    if (message.functionId !== \"\") {\n      writer.uint32(50).string(message.functionId);\n    }\n    if (message.functionSlug !== \"\") {\n      writer.uint32(58).string(message.functionSlug);\n    }\n    if (message.stepId !== undefined) {\n      writer.uint32(66).string(message.stepId);\n    }\n    if (message.requestPayload.length !== 0) {\n      writer.uint32(74).bytes(message.requestPayload);\n    }\n    if (message.systemTraceCtx.length !== 0) {\n      writer.uint32(82).bytes(message.systemTraceCtx);\n    }\n    if (message.userTraceCtx.length !== 0) {\n      writer.uint32(90).bytes(message.userTraceCtx);\n    }\n    if (message.runId !== \"\") {\n      writer.uint32(98).string(message.runId);\n    }\n    if (message.leaseId !== \"\") {\n      writer.uint32(106).string(message.leaseId);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): GatewayExecutorRequestData {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseGatewayExecutorRequestData();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.requestId = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.accountId = reader.string();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.envId = reader.string();\n          continue;\n        }\n        case 4: {\n          if (tag !== 34) {\n            break;\n          }\n\n          message.appId = reader.string();\n          continue;\n        }\n        case 5: {\n          if (tag !== 42) {\n            break;\n          }\n\n          message.appName = reader.string();\n          continue;\n        }\n        case 6: {\n          if (tag !== 50) {\n            break;\n          }\n\n          message.functionId = reader.string();\n          continue;\n        }\n        case 7: {\n          if (tag !== 58) {\n            break;\n          }\n\n          message.functionSlug = reader.string();\n          continue;\n        }\n        case 8: {\n          if (tag !== 66) {\n            break;\n          }\n\n          message.stepId = reader.string();\n          continue;\n        }\n        case 9: {\n          if (tag !== 74) {\n            break;\n          }\n\n          message.requestPayload = reader.bytes();\n          continue;\n        }\n        case 10: {\n          if (tag !== 82) {\n            break;\n          }\n\n          message.systemTraceCtx = reader.bytes();\n          continue;\n        }\n        case 11: {\n          if (tag !== 90) {\n            break;\n          }\n\n          message.userTraceCtx = reader.bytes();\n          continue;\n        }\n        case 12: {\n          if (tag !== 98) {\n            break;\n          }\n\n          message.runId = reader.string();\n          continue;\n        }\n        case 13: {\n          if (tag !== 106) {\n            break;\n          }\n\n          message.leaseId = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): GatewayExecutorRequestData {\n    return {\n      requestId: isSet(object.requestId) ? globalThis.String(object.requestId) : \"\",\n      accountId: isSet(object.accountId) ? globalThis.String(object.accountId) : \"\",\n      envId: isSet(object.envId) ? globalThis.String(object.envId) : \"\",\n      appId: isSet(object.appId) ? globalThis.String(object.appId) : \"\",\n      appName: isSet(object.appName) ? globalThis.String(object.appName) : \"\",\n      functionId: isSet(object.functionId) ? globalThis.String(object.functionId) : \"\",\n      functionSlug: isSet(object.functionSlug) ? globalThis.String(object.functionSlug) : \"\",\n      stepId: isSet(object.stepId) ? globalThis.String(object.stepId) : undefined,\n      requestPayload: isSet(object.requestPayload) ? bytesFromBase64(object.requestPayload) : new Uint8Array(0),\n      systemTraceCtx: isSet(object.systemTraceCtx) ? bytesFromBase64(object.systemTraceCtx) : new Uint8Array(0),\n      userTraceCtx: isSet(object.userTraceCtx) ? bytesFromBase64(object.userTraceCtx) : new Uint8Array(0),\n      runId: isSet(object.runId) ? globalThis.String(object.runId) : \"\",\n      leaseId: isSet(object.leaseId) ? globalThis.String(object.leaseId) : \"\",\n    };\n  },\n\n  toJSON(message: GatewayExecutorRequestData): unknown {\n    const obj: any = {};\n    if (message.requestId !== \"\") {\n      obj.requestId = message.requestId;\n    }\n    if (message.accountId !== \"\") {\n      obj.accountId = message.accountId;\n    }\n    if (message.envId !== \"\") {\n      obj.envId = message.envId;\n    }\n    if (message.appId !== \"\") {\n      obj.appId = message.appId;\n    }\n    if (message.appName !== \"\") {\n      obj.appName = message.appName;\n    }\n    if (message.functionId !== \"\") {\n      obj.functionId = message.functionId;\n    }\n    if (message.functionSlug !== \"\") {\n      obj.functionSlug = message.functionSlug;\n    }\n    if (message.stepId !== undefined) {\n      obj.stepId = message.stepId;\n    }\n    if (message.requestPayload.length !== 0) {\n      obj.requestPayload = base64FromBytes(message.requestPayload);\n    }\n    if (message.systemTraceCtx.length !== 0) {\n      obj.systemTraceCtx = base64FromBytes(message.systemTraceCtx);\n    }\n    if (message.userTraceCtx.length !== 0) {\n      obj.userTraceCtx = base64FromBytes(message.userTraceCtx);\n    }\n    if (message.runId !== \"\") {\n      obj.runId = message.runId;\n    }\n    if (message.leaseId !== \"\") {\n      obj.leaseId = message.leaseId;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<GatewayExecutorRequestData>, I>>(base?: I): GatewayExecutorRequestData {\n    return GatewayExecutorRequestData.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<GatewayExecutorRequestData>, I>>(object: I): GatewayExecutorRequestData {\n    const message = createBaseGatewayExecutorRequestData();\n    message.requestId = object.requestId ?? \"\";\n    message.accountId = object.accountId ?? \"\";\n    message.envId = object.envId ?? \"\";\n    message.appId = object.appId ?? \"\";\n    message.appName = object.appName ?? \"\";\n    message.functionId = object.functionId ?? \"\";\n    message.functionSlug = object.functionSlug ?? \"\";\n    message.stepId = object.stepId ?? undefined;\n    message.requestPayload = object.requestPayload ?? new Uint8Array(0);\n    message.systemTraceCtx = object.systemTraceCtx ?? new Uint8Array(0);\n    message.userTraceCtx = object.userTraceCtx ?? new Uint8Array(0);\n    message.runId = object.runId ?? \"\";\n    message.leaseId = object.leaseId ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseWorkerRequestAckData(): WorkerRequestAckData {\n  return {\n    requestId: \"\",\n    accountId: \"\",\n    envId: \"\",\n    appId: \"\",\n    functionSlug: \"\",\n    stepId: undefined,\n    systemTraceCtx: new Uint8Array(0),\n    userTraceCtx: new Uint8Array(0),\n    runId: \"\",\n  };\n}\n\nexport const WorkerRequestAckData: MessageFns<WorkerRequestAckData> = {\n  encode(message: WorkerRequestAckData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.requestId !== \"\") {\n      writer.uint32(10).string(message.requestId);\n    }\n    if (message.accountId !== \"\") {\n      writer.uint32(18).string(message.accountId);\n    }\n    if (message.envId !== \"\") {\n      writer.uint32(26).string(message.envId);\n    }\n    if (message.appId !== \"\") {\n      writer.uint32(34).string(message.appId);\n    }\n    if (message.functionSlug !== \"\") {\n      writer.uint32(42).string(message.functionSlug);\n    }\n    if (message.stepId !== undefined) {\n      writer.uint32(50).string(message.stepId);\n    }\n    if (message.systemTraceCtx.length !== 0) {\n      writer.uint32(58).bytes(message.systemTraceCtx);\n    }\n    if (message.userTraceCtx.length !== 0) {\n      writer.uint32(66).bytes(message.userTraceCtx);\n    }\n    if (message.runId !== \"\") {\n      writer.uint32(74).string(message.runId);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): WorkerRequestAckData {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseWorkerRequestAckData();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.requestId = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.accountId = reader.string();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.envId = reader.string();\n          continue;\n        }\n        case 4: {\n          if (tag !== 34) {\n            break;\n          }\n\n          message.appId = reader.string();\n          continue;\n        }\n        case 5: {\n          if (tag !== 42) {\n            break;\n          }\n\n          message.functionSlug = reader.string();\n          continue;\n        }\n        case 6: {\n          if (tag !== 50) {\n            break;\n          }\n\n          message.stepId = reader.string();\n          continue;\n        }\n        case 7: {\n          if (tag !== 58) {\n            break;\n          }\n\n          message.systemTraceCtx = reader.bytes();\n          continue;\n        }\n        case 8: {\n          if (tag !== 66) {\n            break;\n          }\n\n          message.userTraceCtx = reader.bytes();\n          continue;\n        }\n        case 9: {\n          if (tag !== 74) {\n            break;\n          }\n\n          message.runId = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): WorkerRequestAckData {\n    return {\n      requestId: isSet(object.requestId) ? globalThis.String(object.requestId) : \"\",\n      accountId: isSet(object.accountId) ? globalThis.String(object.accountId) : \"\",\n      envId: isSet(object.envId) ? globalThis.String(object.envId) : \"\",\n      appId: isSet(object.appId) ? globalThis.String(object.appId) : \"\",\n      functionSlug: isSet(object.functionSlug) ? globalThis.String(object.functionSlug) : \"\",\n      stepId: isSet(object.stepId) ? globalThis.String(object.stepId) : undefined,\n      systemTraceCtx: isSet(object.systemTraceCtx) ? bytesFromBase64(object.systemTraceCtx) : new Uint8Array(0),\n      userTraceCtx: isSet(object.userTraceCtx) ? bytesFromBase64(object.userTraceCtx) : new Uint8Array(0),\n      runId: isSet(object.runId) ? globalThis.String(object.runId) : \"\",\n    };\n  },\n\n  toJSON(message: WorkerRequestAckData): unknown {\n    const obj: any = {};\n    if (message.requestId !== \"\") {\n      obj.requestId = message.requestId;\n    }\n    if (message.accountId !== \"\") {\n      obj.accountId = message.accountId;\n    }\n    if (message.envId !== \"\") {\n      obj.envId = message.envId;\n    }\n    if (message.appId !== \"\") {\n      obj.appId = message.appId;\n    }\n    if (message.functionSlug !== \"\") {\n      obj.functionSlug = message.functionSlug;\n    }\n    if (message.stepId !== undefined) {\n      obj.stepId = message.stepId;\n    }\n    if (message.systemTraceCtx.length !== 0) {\n      obj.systemTraceCtx = base64FromBytes(message.systemTraceCtx);\n    }\n    if (message.userTraceCtx.length !== 0) {\n      obj.userTraceCtx = base64FromBytes(message.userTraceCtx);\n    }\n    if (message.runId !== \"\") {\n      obj.runId = message.runId;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<WorkerRequestAckData>, I>>(base?: I): WorkerRequestAckData {\n    return WorkerRequestAckData.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<WorkerRequestAckData>, I>>(object: I): WorkerRequestAckData {\n    const message = createBaseWorkerRequestAckData();\n    message.requestId = object.requestId ?? \"\";\n    message.accountId = object.accountId ?? \"\";\n    message.envId = object.envId ?? \"\";\n    message.appId = object.appId ?? \"\";\n    message.functionSlug = object.functionSlug ?? \"\";\n    message.stepId = object.stepId ?? undefined;\n    message.systemTraceCtx = object.systemTraceCtx ?? new Uint8Array(0);\n    message.userTraceCtx = object.userTraceCtx ?? new Uint8Array(0);\n    message.runId = object.runId ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseWorkerRequestExtendLeaseData(): WorkerRequestExtendLeaseData {\n  return {\n    requestId: \"\",\n    accountId: \"\",\n    envId: \"\",\n    appId: \"\",\n    functionSlug: \"\",\n    stepId: undefined,\n    systemTraceCtx: new Uint8Array(0),\n    userTraceCtx: new Uint8Array(0),\n    runId: \"\",\n    leaseId: \"\",\n  };\n}\n\nexport const WorkerRequestExtendLeaseData: MessageFns<WorkerRequestExtendLeaseData> = {\n  encode(message: WorkerRequestExtendLeaseData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.requestId !== \"\") {\n      writer.uint32(10).string(message.requestId);\n    }\n    if (message.accountId !== \"\") {\n      writer.uint32(18).string(message.accountId);\n    }\n    if (message.envId !== \"\") {\n      writer.uint32(26).string(message.envId);\n    }\n    if (message.appId !== \"\") {\n      writer.uint32(34).string(message.appId);\n    }\n    if (message.functionSlug !== \"\") {\n      writer.uint32(42).string(message.functionSlug);\n    }\n    if (message.stepId !== undefined) {\n      writer.uint32(50).string(message.stepId);\n    }\n    if (message.systemTraceCtx.length !== 0) {\n      writer.uint32(58).bytes(message.systemTraceCtx);\n    }\n    if (message.userTraceCtx.length !== 0) {\n      writer.uint32(66).bytes(message.userTraceCtx);\n    }\n    if (message.runId !== \"\") {\n      writer.uint32(74).string(message.runId);\n    }\n    if (message.leaseId !== \"\") {\n      writer.uint32(82).string(message.leaseId);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): WorkerRequestExtendLeaseData {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseWorkerRequestExtendLeaseData();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.requestId = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.accountId = reader.string();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.envId = reader.string();\n          continue;\n        }\n        case 4: {\n          if (tag !== 34) {\n            break;\n          }\n\n          message.appId = reader.string();\n          continue;\n        }\n        case 5: {\n          if (tag !== 42) {\n            break;\n          }\n\n          message.functionSlug = reader.string();\n          continue;\n        }\n        case 6: {\n          if (tag !== 50) {\n            break;\n          }\n\n          message.stepId = reader.string();\n          continue;\n        }\n        case 7: {\n          if (tag !== 58) {\n            break;\n          }\n\n          message.systemTraceCtx = reader.bytes();\n          continue;\n        }\n        case 8: {\n          if (tag !== 66) {\n            break;\n          }\n\n          message.userTraceCtx = reader.bytes();\n          continue;\n        }\n        case 9: {\n          if (tag !== 74) {\n            break;\n          }\n\n          message.runId = reader.string();\n          continue;\n        }\n        case 10: {\n          if (tag !== 82) {\n            break;\n          }\n\n          message.leaseId = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): WorkerRequestExtendLeaseData {\n    return {\n      requestId: isSet(object.requestId) ? globalThis.String(object.requestId) : \"\",\n      accountId: isSet(object.accountId) ? globalThis.String(object.accountId) : \"\",\n      envId: isSet(object.envId) ? globalThis.String(object.envId) : \"\",\n      appId: isSet(object.appId) ? globalThis.String(object.appId) : \"\",\n      functionSlug: isSet(object.functionSlug) ? globalThis.String(object.functionSlug) : \"\",\n      stepId: isSet(object.stepId) ? globalThis.String(object.stepId) : undefined,\n      systemTraceCtx: isSet(object.systemTraceCtx) ? bytesFromBase64(object.systemTraceCtx) : new Uint8Array(0),\n      userTraceCtx: isSet(object.userTraceCtx) ? bytesFromBase64(object.userTraceCtx) : new Uint8Array(0),\n      runId: isSet(object.runId) ? globalThis.String(object.runId) : \"\",\n      leaseId: isSet(object.leaseId) ? globalThis.String(object.leaseId) : \"\",\n    };\n  },\n\n  toJSON(message: WorkerRequestExtendLeaseData): unknown {\n    const obj: any = {};\n    if (message.requestId !== \"\") {\n      obj.requestId = message.requestId;\n    }\n    if (message.accountId !== \"\") {\n      obj.accountId = message.accountId;\n    }\n    if (message.envId !== \"\") {\n      obj.envId = message.envId;\n    }\n    if (message.appId !== \"\") {\n      obj.appId = message.appId;\n    }\n    if (message.functionSlug !== \"\") {\n      obj.functionSlug = message.functionSlug;\n    }\n    if (message.stepId !== undefined) {\n      obj.stepId = message.stepId;\n    }\n    if (message.systemTraceCtx.length !== 0) {\n      obj.systemTraceCtx = base64FromBytes(message.systemTraceCtx);\n    }\n    if (message.userTraceCtx.length !== 0) {\n      obj.userTraceCtx = base64FromBytes(message.userTraceCtx);\n    }\n    if (message.runId !== \"\") {\n      obj.runId = message.runId;\n    }\n    if (message.leaseId !== \"\") {\n      obj.leaseId = message.leaseId;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<WorkerRequestExtendLeaseData>, I>>(base?: I): WorkerRequestExtendLeaseData {\n    return WorkerRequestExtendLeaseData.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<WorkerRequestExtendLeaseData>, I>>(object: I): WorkerRequestExtendLeaseData {\n    const message = createBaseWorkerRequestExtendLeaseData();\n    message.requestId = object.requestId ?? \"\";\n    message.accountId = object.accountId ?? \"\";\n    message.envId = object.envId ?? \"\";\n    message.appId = object.appId ?? \"\";\n    message.functionSlug = object.functionSlug ?? \"\";\n    message.stepId = object.stepId ?? undefined;\n    message.systemTraceCtx = object.systemTraceCtx ?? new Uint8Array(0);\n    message.userTraceCtx = object.userTraceCtx ?? new Uint8Array(0);\n    message.runId = object.runId ?? \"\";\n    message.leaseId = object.leaseId ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseWorkerRequestExtendLeaseAckData(): WorkerRequestExtendLeaseAckData {\n  return { requestId: \"\", accountId: \"\", envId: \"\", appId: \"\", functionSlug: \"\", newLeaseId: undefined };\n}\n\nexport const WorkerRequestExtendLeaseAckData: MessageFns<WorkerRequestExtendLeaseAckData> = {\n  encode(message: WorkerRequestExtendLeaseAckData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.requestId !== \"\") {\n      writer.uint32(10).string(message.requestId);\n    }\n    if (message.accountId !== \"\") {\n      writer.uint32(18).string(message.accountId);\n    }\n    if (message.envId !== \"\") {\n      writer.uint32(26).string(message.envId);\n    }\n    if (message.appId !== \"\") {\n      writer.uint32(34).string(message.appId);\n    }\n    if (message.functionSlug !== \"\") {\n      writer.uint32(42).string(message.functionSlug);\n    }\n    if (message.newLeaseId !== undefined) {\n      writer.uint32(50).string(message.newLeaseId);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): WorkerRequestExtendLeaseAckData {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseWorkerRequestExtendLeaseAckData();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.requestId = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.accountId = reader.string();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.envId = reader.string();\n          continue;\n        }\n        case 4: {\n          if (tag !== 34) {\n            break;\n          }\n\n          message.appId = reader.string();\n          continue;\n        }\n        case 5: {\n          if (tag !== 42) {\n            break;\n          }\n\n          message.functionSlug = reader.string();\n          continue;\n        }\n        case 6: {\n          if (tag !== 50) {\n            break;\n          }\n\n          message.newLeaseId = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): WorkerRequestExtendLeaseAckData {\n    return {\n      requestId: isSet(object.requestId) ? globalThis.String(object.requestId) : \"\",\n      accountId: isSet(object.accountId) ? globalThis.String(object.accountId) : \"\",\n      envId: isSet(object.envId) ? globalThis.String(object.envId) : \"\",\n      appId: isSet(object.appId) ? globalThis.String(object.appId) : \"\",\n      functionSlug: isSet(object.functionSlug) ? globalThis.String(object.functionSlug) : \"\",\n      newLeaseId: isSet(object.newLeaseId) ? globalThis.String(object.newLeaseId) : undefined,\n    };\n  },\n\n  toJSON(message: WorkerRequestExtendLeaseAckData): unknown {\n    const obj: any = {};\n    if (message.requestId !== \"\") {\n      obj.requestId = message.requestId;\n    }\n    if (message.accountId !== \"\") {\n      obj.accountId = message.accountId;\n    }\n    if (message.envId !== \"\") {\n      obj.envId = message.envId;\n    }\n    if (message.appId !== \"\") {\n      obj.appId = message.appId;\n    }\n    if (message.functionSlug !== \"\") {\n      obj.functionSlug = message.functionSlug;\n    }\n    if (message.newLeaseId !== undefined) {\n      obj.newLeaseId = message.newLeaseId;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<WorkerRequestExtendLeaseAckData>, I>>(base?: I): WorkerRequestExtendLeaseAckData {\n    return WorkerRequestExtendLeaseAckData.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<WorkerRequestExtendLeaseAckData>, I>>(\n    object: I,\n  ): WorkerRequestExtendLeaseAckData {\n    const message = createBaseWorkerRequestExtendLeaseAckData();\n    message.requestId = object.requestId ?? \"\";\n    message.accountId = object.accountId ?? \"\";\n    message.envId = object.envId ?? \"\";\n    message.appId = object.appId ?? \"\";\n    message.functionSlug = object.functionSlug ?? \"\";\n    message.newLeaseId = object.newLeaseId ?? undefined;\n    return message;\n  },\n};\n\nfunction createBaseSDKResponse(): SDKResponse {\n  return {\n    requestId: \"\",\n    accountId: \"\",\n    envId: \"\",\n    appId: \"\",\n    status: 0,\n    body: new Uint8Array(0),\n    noRetry: false,\n    retryAfter: undefined,\n    sdkVersion: \"\",\n    requestVersion: 0,\n    systemTraceCtx: new Uint8Array(0),\n    userTraceCtx: new Uint8Array(0),\n    runId: \"\",\n  };\n}\n\nexport const SDKResponse: MessageFns<SDKResponse> = {\n  encode(message: SDKResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.requestId !== \"\") {\n      writer.uint32(10).string(message.requestId);\n    }\n    if (message.accountId !== \"\") {\n      writer.uint32(18).string(message.accountId);\n    }\n    if (message.envId !== \"\") {\n      writer.uint32(26).string(message.envId);\n    }\n    if (message.appId !== \"\") {\n      writer.uint32(34).string(message.appId);\n    }\n    if (message.status !== 0) {\n      writer.uint32(40).int32(message.status);\n    }\n    if (message.body.length !== 0) {\n      writer.uint32(50).bytes(message.body);\n    }\n    if (message.noRetry !== false) {\n      writer.uint32(56).bool(message.noRetry);\n    }\n    if (message.retryAfter !== undefined) {\n      writer.uint32(66).string(message.retryAfter);\n    }\n    if (message.sdkVersion !== \"\") {\n      writer.uint32(74).string(message.sdkVersion);\n    }\n    if (message.requestVersion !== 0) {\n      writer.uint32(80).uint32(message.requestVersion);\n    }\n    if (message.systemTraceCtx.length !== 0) {\n      writer.uint32(90).bytes(message.systemTraceCtx);\n    }\n    if (message.userTraceCtx.length !== 0) {\n      writer.uint32(98).bytes(message.userTraceCtx);\n    }\n    if (message.runId !== \"\") {\n      writer.uint32(106).string(message.runId);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): SDKResponse {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseSDKResponse();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.requestId = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.accountId = reader.string();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.envId = reader.string();\n          continue;\n        }\n        case 4: {\n          if (tag !== 34) {\n            break;\n          }\n\n          message.appId = reader.string();\n          continue;\n        }\n        case 5: {\n          if (tag !== 40) {\n            break;\n          }\n\n          message.status = reader.int32() as any;\n          continue;\n        }\n        case 6: {\n          if (tag !== 50) {\n            break;\n          }\n\n          message.body = reader.bytes();\n          continue;\n        }\n        case 7: {\n          if (tag !== 56) {\n            break;\n          }\n\n          message.noRetry = reader.bool();\n          continue;\n        }\n        case 8: {\n          if (tag !== 66) {\n            break;\n          }\n\n          message.retryAfter = reader.string();\n          continue;\n        }\n        case 9: {\n          if (tag !== 74) {\n            break;\n          }\n\n          message.sdkVersion = reader.string();\n          continue;\n        }\n        case 10: {\n          if (tag !== 80) {\n            break;\n          }\n\n          message.requestVersion = reader.uint32();\n          continue;\n        }\n        case 11: {\n          if (tag !== 90) {\n            break;\n          }\n\n          message.systemTraceCtx = reader.bytes();\n          continue;\n        }\n        case 12: {\n          if (tag !== 98) {\n            break;\n          }\n\n          message.userTraceCtx = reader.bytes();\n          continue;\n        }\n        case 13: {\n          if (tag !== 106) {\n            break;\n          }\n\n          message.runId = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): SDKResponse {\n    return {\n      requestId: isSet(object.requestId) ? globalThis.String(object.requestId) : \"\",\n      accountId: isSet(object.accountId) ? globalThis.String(object.accountId) : \"\",\n      envId: isSet(object.envId) ? globalThis.String(object.envId) : \"\",\n      appId: isSet(object.appId) ? globalThis.String(object.appId) : \"\",\n      status: isSet(object.status) ? sDKResponseStatusFromJSON(object.status) : 0,\n      body: isSet(object.body) ? bytesFromBase64(object.body) : new Uint8Array(0),\n      noRetry: isSet(object.noRetry) ? globalThis.Boolean(object.noRetry) : false,\n      retryAfter: isSet(object.retryAfter) ? globalThis.String(object.retryAfter) : undefined,\n      sdkVersion: isSet(object.sdkVersion) ? globalThis.String(object.sdkVersion) : \"\",\n      requestVersion: isSet(object.requestVersion) ? globalThis.Number(object.requestVersion) : 0,\n      systemTraceCtx: isSet(object.systemTraceCtx) ? bytesFromBase64(object.systemTraceCtx) : new Uint8Array(0),\n      userTraceCtx: isSet(object.userTraceCtx) ? bytesFromBase64(object.userTraceCtx) : new Uint8Array(0),\n      runId: isSet(object.runId) ? globalThis.String(object.runId) : \"\",\n    };\n  },\n\n  toJSON(message: SDKResponse): unknown {\n    const obj: any = {};\n    if (message.requestId !== \"\") {\n      obj.requestId = message.requestId;\n    }\n    if (message.accountId !== \"\") {\n      obj.accountId = message.accountId;\n    }\n    if (message.envId !== \"\") {\n      obj.envId = message.envId;\n    }\n    if (message.appId !== \"\") {\n      obj.appId = message.appId;\n    }\n    if (message.status !== 0) {\n      obj.status = sDKResponseStatusToJSON(message.status);\n    }\n    if (message.body.length !== 0) {\n      obj.body = base64FromBytes(message.body);\n    }\n    if (message.noRetry !== false) {\n      obj.noRetry = message.noRetry;\n    }\n    if (message.retryAfter !== undefined) {\n      obj.retryAfter = message.retryAfter;\n    }\n    if (message.sdkVersion !== \"\") {\n      obj.sdkVersion = message.sdkVersion;\n    }\n    if (message.requestVersion !== 0) {\n      obj.requestVersion = Math.round(message.requestVersion);\n    }\n    if (message.systemTraceCtx.length !== 0) {\n      obj.systemTraceCtx = base64FromBytes(message.systemTraceCtx);\n    }\n    if (message.userTraceCtx.length !== 0) {\n      obj.userTraceCtx = base64FromBytes(message.userTraceCtx);\n    }\n    if (message.runId !== \"\") {\n      obj.runId = message.runId;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<SDKResponse>, I>>(base?: I): SDKResponse {\n    return SDKResponse.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<SDKResponse>, I>>(object: I): SDKResponse {\n    const message = createBaseSDKResponse();\n    message.requestId = object.requestId ?? \"\";\n    message.accountId = object.accountId ?? \"\";\n    message.envId = object.envId ?? \"\";\n    message.appId = object.appId ?? \"\";\n    message.status = object.status ?? 0;\n    message.body = object.body ?? new Uint8Array(0);\n    message.noRetry = object.noRetry ?? false;\n    message.retryAfter = object.retryAfter ?? undefined;\n    message.sdkVersion = object.sdkVersion ?? \"\";\n    message.requestVersion = object.requestVersion ?? 0;\n    message.systemTraceCtx = object.systemTraceCtx ?? new Uint8Array(0);\n    message.userTraceCtx = object.userTraceCtx ?? new Uint8Array(0);\n    message.runId = object.runId ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseWorkerReplyAckData(): WorkerReplyAckData {\n  return { requestId: \"\" };\n}\n\nexport const WorkerReplyAckData: MessageFns<WorkerReplyAckData> = {\n  encode(message: WorkerReplyAckData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.requestId !== \"\") {\n      writer.uint32(10).string(message.requestId);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): WorkerReplyAckData {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseWorkerReplyAckData();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.requestId = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): WorkerReplyAckData {\n    return { requestId: isSet(object.requestId) ? globalThis.String(object.requestId) : \"\" };\n  },\n\n  toJSON(message: WorkerReplyAckData): unknown {\n    const obj: any = {};\n    if (message.requestId !== \"\") {\n      obj.requestId = message.requestId;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<WorkerReplyAckData>, I>>(base?: I): WorkerReplyAckData {\n    return WorkerReplyAckData.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<WorkerReplyAckData>, I>>(object: I): WorkerReplyAckData {\n    const message = createBaseWorkerReplyAckData();\n    message.requestId = object.requestId ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseConnMetadata(): ConnMetadata {\n  return {\n    id: \"\",\n    gatewayId: \"\",\n    instanceId: \"\",\n    allWorkerGroups: {},\n    syncedWorkerGroups: {},\n    status: 0,\n    lastHeartbeatAt: undefined,\n    sdkLanguage: \"\",\n    sdkVersion: \"\",\n    attributes: undefined,\n  };\n}\n\nexport const ConnMetadata: MessageFns<ConnMetadata> = {\n  encode(message: ConnMetadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.id !== \"\") {\n      writer.uint32(10).string(message.id);\n    }\n    if (message.gatewayId !== \"\") {\n      writer.uint32(18).string(message.gatewayId);\n    }\n    if (message.instanceId !== \"\") {\n      writer.uint32(26).string(message.instanceId);\n    }\n    Object.entries(message.allWorkerGroups).forEach(([key, value]) => {\n      ConnMetadata_AllWorkerGroupsEntry.encode({ key: key as any, value }, writer.uint32(34).fork()).join();\n    });\n    Object.entries(message.syncedWorkerGroups).forEach(([key, value]) => {\n      ConnMetadata_SyncedWorkerGroupsEntry.encode({ key: key as any, value }, writer.uint32(42).fork()).join();\n    });\n    if (message.status !== 0) {\n      writer.uint32(48).int32(message.status);\n    }\n    if (message.lastHeartbeatAt !== undefined) {\n      Timestamp.encode(toTimestamp(message.lastHeartbeatAt), writer.uint32(58).fork()).join();\n    }\n    if (message.sdkLanguage !== \"\") {\n      writer.uint32(66).string(message.sdkLanguage);\n    }\n    if (message.sdkVersion !== \"\") {\n      writer.uint32(74).string(message.sdkVersion);\n    }\n    if (message.attributes !== undefined) {\n      SystemAttributes.encode(message.attributes, writer.uint32(82).fork()).join();\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): ConnMetadata {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseConnMetadata();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.id = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.gatewayId = reader.string();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.instanceId = reader.string();\n          continue;\n        }\n        case 4: {\n          if (tag !== 34) {\n            break;\n          }\n\n          const entry4 = ConnMetadata_AllWorkerGroupsEntry.decode(reader, reader.uint32());\n          if (entry4.value !== undefined) {\n            message.allWorkerGroups[entry4.key] = entry4.value;\n          }\n          continue;\n        }\n        case 5: {\n          if (tag !== 42) {\n            break;\n          }\n\n          const entry5 = ConnMetadata_SyncedWorkerGroupsEntry.decode(reader, reader.uint32());\n          if (entry5.value !== undefined) {\n            message.syncedWorkerGroups[entry5.key] = entry5.value;\n          }\n          continue;\n        }\n        case 6: {\n          if (tag !== 48) {\n            break;\n          }\n\n          message.status = reader.int32() as any;\n          continue;\n        }\n        case 7: {\n          if (tag !== 58) {\n            break;\n          }\n\n          message.lastHeartbeatAt = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n          continue;\n        }\n        case 8: {\n          if (tag !== 66) {\n            break;\n          }\n\n          message.sdkLanguage = reader.string();\n          continue;\n        }\n        case 9: {\n          if (tag !== 74) {\n            break;\n          }\n\n          message.sdkVersion = reader.string();\n          continue;\n        }\n        case 10: {\n          if (tag !== 82) {\n            break;\n          }\n\n          message.attributes = SystemAttributes.decode(reader, reader.uint32());\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): ConnMetadata {\n    return {\n      id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n      gatewayId: isSet(object.gatewayId) ? globalThis.String(object.gatewayId) : \"\",\n      instanceId: isSet(object.instanceId) ? globalThis.String(object.instanceId) : \"\",\n      allWorkerGroups: isObject(object.allWorkerGroups)\n        ? Object.entries(object.allWorkerGroups).reduce<{ [key: string]: string }>((acc, [key, value]) => {\n          acc[key] = String(value);\n          return acc;\n        }, {})\n        : {},\n      syncedWorkerGroups: isObject(object.syncedWorkerGroups)\n        ? Object.entries(object.syncedWorkerGroups).reduce<{ [key: string]: string }>((acc, [key, value]) => {\n          acc[key] = String(value);\n          return acc;\n        }, {})\n        : {},\n      status: isSet(object.status) ? connectionStatusFromJSON(object.status) : 0,\n      lastHeartbeatAt: isSet(object.lastHeartbeatAt) ? fromJsonTimestamp(object.lastHeartbeatAt) : undefined,\n      sdkLanguage: isSet(object.sdkLanguage) ? globalThis.String(object.sdkLanguage) : \"\",\n      sdkVersion: isSet(object.sdkVersion) ? globalThis.String(object.sdkVersion) : \"\",\n      attributes: isSet(object.attributes) ? SystemAttributes.fromJSON(object.attributes) : undefined,\n    };\n  },\n\n  toJSON(message: ConnMetadata): unknown {\n    const obj: any = {};\n    if (message.id !== \"\") {\n      obj.id = message.id;\n    }\n    if (message.gatewayId !== \"\") {\n      obj.gatewayId = message.gatewayId;\n    }\n    if (message.instanceId !== \"\") {\n      obj.instanceId = message.instanceId;\n    }\n    if (message.allWorkerGroups) {\n      const entries = Object.entries(message.allWorkerGroups);\n      if (entries.length > 0) {\n        obj.allWorkerGroups = {};\n        entries.forEach(([k, v]) => {\n          obj.allWorkerGroups[k] = v;\n        });\n      }\n    }\n    if (message.syncedWorkerGroups) {\n      const entries = Object.entries(message.syncedWorkerGroups);\n      if (entries.length > 0) {\n        obj.syncedWorkerGroups = {};\n        entries.forEach(([k, v]) => {\n          obj.syncedWorkerGroups[k] = v;\n        });\n      }\n    }\n    if (message.status !== 0) {\n      obj.status = connectionStatusToJSON(message.status);\n    }\n    if (message.lastHeartbeatAt !== undefined) {\n      obj.lastHeartbeatAt = message.lastHeartbeatAt.toISOString();\n    }\n    if (message.sdkLanguage !== \"\") {\n      obj.sdkLanguage = message.sdkLanguage;\n    }\n    if (message.sdkVersion !== \"\") {\n      obj.sdkVersion = message.sdkVersion;\n    }\n    if (message.attributes !== undefined) {\n      obj.attributes = SystemAttributes.toJSON(message.attributes);\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<ConnMetadata>, I>>(base?: I): ConnMetadata {\n    return ConnMetadata.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<ConnMetadata>, I>>(object: I): ConnMetadata {\n    const message = createBaseConnMetadata();\n    message.id = object.id ?? \"\";\n    message.gatewayId = object.gatewayId ?? \"\";\n    message.instanceId = object.instanceId ?? \"\";\n    message.allWorkerGroups = Object.entries(object.allWorkerGroups ?? {}).reduce<{ [key: string]: string }>(\n      (acc, [key, value]) => {\n        if (value !== undefined) {\n          acc[key] = globalThis.String(value);\n        }\n        return acc;\n      },\n      {},\n    );\n    message.syncedWorkerGroups = Object.entries(object.syncedWorkerGroups ?? {}).reduce<{ [key: string]: string }>(\n      (acc, [key, value]) => {\n        if (value !== undefined) {\n          acc[key] = globalThis.String(value);\n        }\n        return acc;\n      },\n      {},\n    );\n    message.status = object.status ?? 0;\n    message.lastHeartbeatAt = object.lastHeartbeatAt ?? undefined;\n    message.sdkLanguage = object.sdkLanguage ?? \"\";\n    message.sdkVersion = object.sdkVersion ?? \"\";\n    message.attributes = (object.attributes !== undefined && object.attributes !== null)\n      ? SystemAttributes.fromPartial(object.attributes)\n      : undefined;\n    return message;\n  },\n};\n\nfunction createBaseConnMetadata_AllWorkerGroupsEntry(): ConnMetadata_AllWorkerGroupsEntry {\n  return { key: \"\", value: \"\" };\n}\n\nexport const ConnMetadata_AllWorkerGroupsEntry: MessageFns<ConnMetadata_AllWorkerGroupsEntry> = {\n  encode(message: ConnMetadata_AllWorkerGroupsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.key !== \"\") {\n      writer.uint32(10).string(message.key);\n    }\n    if (message.value !== \"\") {\n      writer.uint32(18).string(message.value);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): ConnMetadata_AllWorkerGroupsEntry {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseConnMetadata_AllWorkerGroupsEntry();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.key = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.value = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): ConnMetadata_AllWorkerGroupsEntry {\n    return {\n      key: isSet(object.key) ? globalThis.String(object.key) : \"\",\n      value: isSet(object.value) ? globalThis.String(object.value) : \"\",\n    };\n  },\n\n  toJSON(message: ConnMetadata_AllWorkerGroupsEntry): unknown {\n    const obj: any = {};\n    if (message.key !== \"\") {\n      obj.key = message.key;\n    }\n    if (message.value !== \"\") {\n      obj.value = message.value;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<ConnMetadata_AllWorkerGroupsEntry>, I>>(\n    base?: I,\n  ): ConnMetadata_AllWorkerGroupsEntry {\n    return ConnMetadata_AllWorkerGroupsEntry.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<ConnMetadata_AllWorkerGroupsEntry>, I>>(\n    object: I,\n  ): ConnMetadata_AllWorkerGroupsEntry {\n    const message = createBaseConnMetadata_AllWorkerGroupsEntry();\n    message.key = object.key ?? \"\";\n    message.value = object.value ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseConnMetadata_SyncedWorkerGroupsEntry(): ConnMetadata_SyncedWorkerGroupsEntry {\n  return { key: \"\", value: \"\" };\n}\n\nexport const ConnMetadata_SyncedWorkerGroupsEntry: MessageFns<ConnMetadata_SyncedWorkerGroupsEntry> = {\n  encode(message: ConnMetadata_SyncedWorkerGroupsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.key !== \"\") {\n      writer.uint32(10).string(message.key);\n    }\n    if (message.value !== \"\") {\n      writer.uint32(18).string(message.value);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): ConnMetadata_SyncedWorkerGroupsEntry {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseConnMetadata_SyncedWorkerGroupsEntry();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.key = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.value = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): ConnMetadata_SyncedWorkerGroupsEntry {\n    return {\n      key: isSet(object.key) ? globalThis.String(object.key) : \"\",\n      value: isSet(object.value) ? globalThis.String(object.value) : \"\",\n    };\n  },\n\n  toJSON(message: ConnMetadata_SyncedWorkerGroupsEntry): unknown {\n    const obj: any = {};\n    if (message.key !== \"\") {\n      obj.key = message.key;\n    }\n    if (message.value !== \"\") {\n      obj.value = message.value;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<ConnMetadata_SyncedWorkerGroupsEntry>, I>>(\n    base?: I,\n  ): ConnMetadata_SyncedWorkerGroupsEntry {\n    return ConnMetadata_SyncedWorkerGroupsEntry.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<ConnMetadata_SyncedWorkerGroupsEntry>, I>>(\n    object: I,\n  ): ConnMetadata_SyncedWorkerGroupsEntry {\n    const message = createBaseConnMetadata_SyncedWorkerGroupsEntry();\n    message.key = object.key ?? \"\";\n    message.value = object.value ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseSystemAttributes(): SystemAttributes {\n  return { cpuCores: 0, memBytes: 0, os: \"\" };\n}\n\nexport const SystemAttributes: MessageFns<SystemAttributes> = {\n  encode(message: SystemAttributes, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.cpuCores !== 0) {\n      writer.uint32(8).int32(message.cpuCores);\n    }\n    if (message.memBytes !== 0) {\n      writer.uint32(16).int64(message.memBytes);\n    }\n    if (message.os !== \"\") {\n      writer.uint32(26).string(message.os);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): SystemAttributes {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseSystemAttributes();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 8) {\n            break;\n          }\n\n          message.cpuCores = reader.int32();\n          continue;\n        }\n        case 2: {\n          if (tag !== 16) {\n            break;\n          }\n\n          message.memBytes = longToNumber(reader.int64());\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.os = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): SystemAttributes {\n    return {\n      cpuCores: isSet(object.cpuCores) ? globalThis.Number(object.cpuCores) : 0,\n      memBytes: isSet(object.memBytes) ? globalThis.Number(object.memBytes) : 0,\n      os: isSet(object.os) ? globalThis.String(object.os) : \"\",\n    };\n  },\n\n  toJSON(message: SystemAttributes): unknown {\n    const obj: any = {};\n    if (message.cpuCores !== 0) {\n      obj.cpuCores = Math.round(message.cpuCores);\n    }\n    if (message.memBytes !== 0) {\n      obj.memBytes = Math.round(message.memBytes);\n    }\n    if (message.os !== \"\") {\n      obj.os = message.os;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<SystemAttributes>, I>>(base?: I): SystemAttributes {\n    return SystemAttributes.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<SystemAttributes>, I>>(object: I): SystemAttributes {\n    const message = createBaseSystemAttributes();\n    message.cpuCores = object.cpuCores ?? 0;\n    message.memBytes = object.memBytes ?? 0;\n    message.os = object.os ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseConnGroup(): ConnGroup {\n  return { envId: \"\", appId: \"\", appName: \"\", hash: \"\", conns: [], syncId: undefined, appVersion: undefined };\n}\n\nexport const ConnGroup: MessageFns<ConnGroup> = {\n  encode(message: ConnGroup, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.envId !== \"\") {\n      writer.uint32(10).string(message.envId);\n    }\n    if (message.appId !== \"\") {\n      writer.uint32(18).string(message.appId);\n    }\n    if (message.appName !== \"\") {\n      writer.uint32(26).string(message.appName);\n    }\n    if (message.hash !== \"\") {\n      writer.uint32(34).string(message.hash);\n    }\n    for (const v of message.conns) {\n      ConnMetadata.encode(v!, writer.uint32(42).fork()).join();\n    }\n    if (message.syncId !== undefined) {\n      writer.uint32(50).string(message.syncId);\n    }\n    if (message.appVersion !== undefined) {\n      writer.uint32(58).string(message.appVersion);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): ConnGroup {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseConnGroup();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.envId = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.appId = reader.string();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.appName = reader.string();\n          continue;\n        }\n        case 4: {\n          if (tag !== 34) {\n            break;\n          }\n\n          message.hash = reader.string();\n          continue;\n        }\n        case 5: {\n          if (tag !== 42) {\n            break;\n          }\n\n          message.conns.push(ConnMetadata.decode(reader, reader.uint32()));\n          continue;\n        }\n        case 6: {\n          if (tag !== 50) {\n            break;\n          }\n\n          message.syncId = reader.string();\n          continue;\n        }\n        case 7: {\n          if (tag !== 58) {\n            break;\n          }\n\n          message.appVersion = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): ConnGroup {\n    return {\n      envId: isSet(object.envId) ? globalThis.String(object.envId) : \"\",\n      appId: isSet(object.appId) ? globalThis.String(object.appId) : \"\",\n      appName: isSet(object.appName) ? globalThis.String(object.appName) : \"\",\n      hash: isSet(object.hash) ? globalThis.String(object.hash) : \"\",\n      conns: globalThis.Array.isArray(object?.conns) ? object.conns.map((e: any) => ConnMetadata.fromJSON(e)) : [],\n      syncId: isSet(object.syncId) ? globalThis.String(object.syncId) : undefined,\n      appVersion: isSet(object.appVersion) ? globalThis.String(object.appVersion) : undefined,\n    };\n  },\n\n  toJSON(message: ConnGroup): unknown {\n    const obj: any = {};\n    if (message.envId !== \"\") {\n      obj.envId = message.envId;\n    }\n    if (message.appId !== \"\") {\n      obj.appId = message.appId;\n    }\n    if (message.appName !== \"\") {\n      obj.appName = message.appName;\n    }\n    if (message.hash !== \"\") {\n      obj.hash = message.hash;\n    }\n    if (message.conns?.length) {\n      obj.conns = message.conns.map((e) => ConnMetadata.toJSON(e));\n    }\n    if (message.syncId !== undefined) {\n      obj.syncId = message.syncId;\n    }\n    if (message.appVersion !== undefined) {\n      obj.appVersion = message.appVersion;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<ConnGroup>, I>>(base?: I): ConnGroup {\n    return ConnGroup.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<ConnGroup>, I>>(object: I): ConnGroup {\n    const message = createBaseConnGroup();\n    message.envId = object.envId ?? \"\";\n    message.appId = object.appId ?? \"\";\n    message.appName = object.appName ?? \"\";\n    message.hash = object.hash ?? \"\";\n    message.conns = object.conns?.map((e) => ConnMetadata.fromPartial(e)) || [];\n    message.syncId = object.syncId ?? undefined;\n    message.appVersion = object.appVersion ?? undefined;\n    return message;\n  },\n};\n\nfunction createBaseStartResponse(): StartResponse {\n  return { connectionId: \"\", gatewayEndpoint: \"\", gatewayGroup: \"\", sessionToken: \"\", syncToken: \"\" };\n}\n\nexport const StartResponse: MessageFns<StartResponse> = {\n  encode(message: StartResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.connectionId !== \"\") {\n      writer.uint32(10).string(message.connectionId);\n    }\n    if (message.gatewayEndpoint !== \"\") {\n      writer.uint32(18).string(message.gatewayEndpoint);\n    }\n    if (message.gatewayGroup !== \"\") {\n      writer.uint32(26).string(message.gatewayGroup);\n    }\n    if (message.sessionToken !== \"\") {\n      writer.uint32(34).string(message.sessionToken);\n    }\n    if (message.syncToken !== \"\") {\n      writer.uint32(42).string(message.syncToken);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): StartResponse {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseStartResponse();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.connectionId = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.gatewayEndpoint = reader.string();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.gatewayGroup = reader.string();\n          continue;\n        }\n        case 4: {\n          if (tag !== 34) {\n            break;\n          }\n\n          message.sessionToken = reader.string();\n          continue;\n        }\n        case 5: {\n          if (tag !== 42) {\n            break;\n          }\n\n          message.syncToken = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): StartResponse {\n    return {\n      connectionId: isSet(object.connectionId) ? globalThis.String(object.connectionId) : \"\",\n      gatewayEndpoint: isSet(object.gatewayEndpoint) ? globalThis.String(object.gatewayEndpoint) : \"\",\n      gatewayGroup: isSet(object.gatewayGroup) ? globalThis.String(object.gatewayGroup) : \"\",\n      sessionToken: isSet(object.sessionToken) ? globalThis.String(object.sessionToken) : \"\",\n      syncToken: isSet(object.syncToken) ? globalThis.String(object.syncToken) : \"\",\n    };\n  },\n\n  toJSON(message: StartResponse): unknown {\n    const obj: any = {};\n    if (message.connectionId !== \"\") {\n      obj.connectionId = message.connectionId;\n    }\n    if (message.gatewayEndpoint !== \"\") {\n      obj.gatewayEndpoint = message.gatewayEndpoint;\n    }\n    if (message.gatewayGroup !== \"\") {\n      obj.gatewayGroup = message.gatewayGroup;\n    }\n    if (message.sessionToken !== \"\") {\n      obj.sessionToken = message.sessionToken;\n    }\n    if (message.syncToken !== \"\") {\n      obj.syncToken = message.syncToken;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<StartResponse>, I>>(base?: I): StartResponse {\n    return StartResponse.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<StartResponse>, I>>(object: I): StartResponse {\n    const message = createBaseStartResponse();\n    message.connectionId = object.connectionId ?? \"\";\n    message.gatewayEndpoint = object.gatewayEndpoint ?? \"\";\n    message.gatewayGroup = object.gatewayGroup ?? \"\";\n    message.sessionToken = object.sessionToken ?? \"\";\n    message.syncToken = object.syncToken ?? \"\";\n    return message;\n  },\n};\n\nfunction createBaseStartRequest(): StartRequest {\n  return { excludeGateways: [] };\n}\n\nexport const StartRequest: MessageFns<StartRequest> = {\n  encode(message: StartRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    for (const v of message.excludeGateways) {\n      writer.uint32(10).string(v!);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): StartRequest {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseStartRequest();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.excludeGateways.push(reader.string());\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): StartRequest {\n    return {\n      excludeGateways: globalThis.Array.isArray(object?.excludeGateways)\n        ? object.excludeGateways.map((e: any) => globalThis.String(e))\n        : [],\n    };\n  },\n\n  toJSON(message: StartRequest): unknown {\n    const obj: any = {};\n    if (message.excludeGateways?.length) {\n      obj.excludeGateways = message.excludeGateways;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<StartRequest>, I>>(base?: I): StartRequest {\n    return StartRequest.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<StartRequest>, I>>(object: I): StartRequest {\n    const message = createBaseStartRequest();\n    message.excludeGateways = object.excludeGateways?.map((e) => e) || [];\n    return message;\n  },\n};\n\nfunction createBaseFlushResponse(): FlushResponse {\n  return { requestId: \"\" };\n}\n\nexport const FlushResponse: MessageFns<FlushResponse> = {\n  encode(message: FlushResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.requestId !== \"\") {\n      writer.uint32(10).string(message.requestId);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): FlushResponse {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseFlushResponse();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.requestId = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): FlushResponse {\n    return { requestId: isSet(object.requestId) ? globalThis.String(object.requestId) : \"\" };\n  },\n\n  toJSON(message: FlushResponse): unknown {\n    const obj: any = {};\n    if (message.requestId !== \"\") {\n      obj.requestId = message.requestId;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<FlushResponse>, I>>(base?: I): FlushResponse {\n    return FlushResponse.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<FlushResponse>, I>>(object: I): FlushResponse {\n    const message = createBaseFlushResponse();\n    message.requestId = object.requestId ?? \"\";\n    return message;\n  },\n};\n\nfunction createBasePubSubAckMessage(): PubSubAckMessage {\n  return { ts: undefined, nack: undefined, nackReason: undefined };\n}\n\nexport const PubSubAckMessage: MessageFns<PubSubAckMessage> = {\n  encode(message: PubSubAckMessage, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.ts !== undefined) {\n      Timestamp.encode(toTimestamp(message.ts), writer.uint32(10).fork()).join();\n    }\n    if (message.nack !== undefined) {\n      writer.uint32(16).bool(message.nack);\n    }\n    if (message.nackReason !== undefined) {\n      SystemError.encode(message.nackReason, writer.uint32(26).fork()).join();\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): PubSubAckMessage {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBasePubSubAckMessage();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.ts = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n          continue;\n        }\n        case 2: {\n          if (tag !== 16) {\n            break;\n          }\n\n          message.nack = reader.bool();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.nackReason = SystemError.decode(reader, reader.uint32());\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): PubSubAckMessage {\n    return {\n      ts: isSet(object.ts) ? fromJsonTimestamp(object.ts) : undefined,\n      nack: isSet(object.nack) ? globalThis.Boolean(object.nack) : undefined,\n      nackReason: isSet(object.nackReason) ? SystemError.fromJSON(object.nackReason) : undefined,\n    };\n  },\n\n  toJSON(message: PubSubAckMessage): unknown {\n    const obj: any = {};\n    if (message.ts !== undefined) {\n      obj.ts = message.ts.toISOString();\n    }\n    if (message.nack !== undefined) {\n      obj.nack = message.nack;\n    }\n    if (message.nackReason !== undefined) {\n      obj.nackReason = SystemError.toJSON(message.nackReason);\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<PubSubAckMessage>, I>>(base?: I): PubSubAckMessage {\n    return PubSubAckMessage.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<PubSubAckMessage>, I>>(object: I): PubSubAckMessage {\n    const message = createBasePubSubAckMessage();\n    message.ts = object.ts ?? undefined;\n    message.nack = object.nack ?? undefined;\n    message.nackReason = (object.nackReason !== undefined && object.nackReason !== null)\n      ? SystemError.fromPartial(object.nackReason)\n      : undefined;\n    return message;\n  },\n};\n\nfunction createBaseSystemError(): SystemError {\n  return { code: \"\", data: undefined, message: \"\" };\n}\n\nexport const SystemError: MessageFns<SystemError> = {\n  encode(message: SystemError, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n    if (message.code !== \"\") {\n      writer.uint32(10).string(message.code);\n    }\n    if (message.data !== undefined) {\n      writer.uint32(18).bytes(message.data);\n    }\n    if (message.message !== \"\") {\n      writer.uint32(26).string(message.message);\n    }\n    return writer;\n  },\n\n  decode(input: BinaryReader | Uint8Array, length?: number): SystemError {\n    const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n    let end = length === undefined ? reader.len : reader.pos + length;\n    const message = createBaseSystemError();\n    while (reader.pos < end) {\n      const tag = reader.uint32();\n      switch (tag >>> 3) {\n        case 1: {\n          if (tag !== 10) {\n            break;\n          }\n\n          message.code = reader.string();\n          continue;\n        }\n        case 2: {\n          if (tag !== 18) {\n            break;\n          }\n\n          message.data = reader.bytes();\n          continue;\n        }\n        case 3: {\n          if (tag !== 26) {\n            break;\n          }\n\n          message.message = reader.string();\n          continue;\n        }\n      }\n      if ((tag & 7) === 4 || tag === 0) {\n        break;\n      }\n      reader.skip(tag & 7);\n    }\n    return message;\n  },\n\n  fromJSON(object: any): SystemError {\n    return {\n      code: isSet(object.code) ? globalThis.String(object.code) : \"\",\n      data: isSet(object.data) ? bytesFromBase64(object.data) : undefined,\n      message: isSet(object.message) ? globalThis.String(object.message) : \"\",\n    };\n  },\n\n  toJSON(message: SystemError): unknown {\n    const obj: any = {};\n    if (message.code !== \"\") {\n      obj.code = message.code;\n    }\n    if (message.data !== undefined) {\n      obj.data = base64FromBytes(message.data);\n    }\n    if (message.message !== \"\") {\n      obj.message = message.message;\n    }\n    return obj;\n  },\n\n  create<I extends Exact<DeepPartial<SystemError>, I>>(base?: I): SystemError {\n    return SystemError.fromPartial(base ?? ({} as any));\n  },\n  fromPartial<I extends Exact<DeepPartial<SystemError>, I>>(object: I): SystemError {\n    const message = createBaseSystemError();\n    message.code = object.code ?? \"\";\n    message.data = object.data ?? undefined;\n    message.message = object.message ?? \"\";\n    return message;\n  },\n};\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n  if ((globalThis as any).Buffer) {\n    return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n  } else {\n    const bin = globalThis.atob(b64);\n    const arr = new Uint8Array(bin.length);\n    for (let i = 0; i < bin.length; ++i) {\n      arr[i] = bin.charCodeAt(i);\n    }\n    return arr;\n  }\n}\n\nfunction base64FromBytes(arr: Uint8Array): string {\n  if ((globalThis as any).Buffer) {\n    return globalThis.Buffer.from(arr).toString(\"base64\");\n  } else {\n    const bin: string[] = [];\n    arr.forEach((byte) => {\n      bin.push(globalThis.String.fromCharCode(byte));\n    });\n    return globalThis.btoa(bin.join(\"\"));\n  }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\nexport type DeepPartial<T> = T extends Builtin ? T\n  : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n  : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n  : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n  : Partial<T>;\n\ntype KeysOfUnion<T> = T extends T ? keyof T : never;\nexport type Exact<P, I extends P> = P extends Builtin ? P\n  : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };\n\nfunction toTimestamp(date: Date): Timestamp {\n  const seconds = Math.trunc(date.getTime() / 1_000);\n  const nanos = (date.getTime() % 1_000) * 1_000_000;\n  return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n  let millis = (t.seconds || 0) * 1_000;\n  millis += (t.nanos || 0) / 1_000_000;\n  return new globalThis.Date(millis);\n}\n\nfunction fromJsonTimestamp(o: any): Date {\n  if (o instanceof globalThis.Date) {\n    return o;\n  } else if (typeof o === \"string\") {\n    return new globalThis.Date(o);\n  } else {\n    return fromTimestamp(Timestamp.fromJSON(o));\n  }\n}\n\nfunction longToNumber(int64: { toString(): string }): number {\n  const num = globalThis.Number(int64.toString());\n  if (num > globalThis.Number.MAX_SAFE_INTEGER) {\n    throw new globalThis.Error(\"Value is larger than Number.MAX_SAFE_INTEGER\");\n  }\n  if (num < globalThis.Number.MIN_SAFE_INTEGER) {\n    throw new globalThis.Error(\"Value is smaller than Number.MIN_SAFE_INTEGER\");\n  }\n  return num;\n}\n\nfunction isObject(value: any): boolean {\n  return typeof value === \"object\" && value !== null;\n}\n\nfunction isSet(value: any): boolean {\n  return value !== null && value !== undefined;\n}\n\nexport interface MessageFns<T> {\n  encode(message: T, writer?: BinaryWriter): BinaryWriter;\n  decode(input: BinaryReader | Uint8Array, length?: number): T;\n  fromJSON(object: any): T;\n  toJSON(message: T): unknown;\n  create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;\n  fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;\n}\n"],"mappings":"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"}