@milaboratories/pl-drivers 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/dist/clients/download.cjs +5 -3
  2. package/dist/clients/download.cjs.map +1 -1
  3. package/dist/clients/download.d.ts.map +1 -1
  4. package/dist/clients/download.js +6 -4
  5. package/dist/clients/download.js.map +1 -1
  6. package/dist/clients/logs.cjs +10 -6
  7. package/dist/clients/logs.cjs.map +1 -1
  8. package/dist/clients/logs.d.ts.map +1 -1
  9. package/dist/clients/logs.js +11 -7
  10. package/dist/clients/logs.js.map +1 -1
  11. package/dist/clients/ls_api.cjs +5 -3
  12. package/dist/clients/ls_api.cjs.map +1 -1
  13. package/dist/clients/ls_api.js +6 -4
  14. package/dist/clients/ls_api.js.map +1 -1
  15. package/dist/clients/progress.cjs +7 -3
  16. package/dist/clients/progress.cjs.map +1 -1
  17. package/dist/clients/progress.d.ts.map +1 -1
  18. package/dist/clients/progress.js +8 -4
  19. package/dist/clients/progress.js.map +1 -1
  20. package/dist/clients/upload.cjs +22 -12
  21. package/dist/clients/upload.cjs.map +1 -1
  22. package/dist/clients/upload.d.ts.map +1 -1
  23. package/dist/clients/upload.js +23 -13
  24. package/dist/clients/upload.js.map +1 -1
  25. package/dist/drivers/download_blob/blob_key.cjs +3 -2
  26. package/dist/drivers/download_blob/blob_key.cjs.map +1 -1
  27. package/dist/drivers/download_blob/blob_key.js +3 -2
  28. package/dist/drivers/download_blob/blob_key.js.map +1 -1
  29. package/dist/drivers/download_blob/download_blob.cjs.map +1 -1
  30. package/dist/drivers/download_blob/download_blob.js.map +1 -1
  31. package/dist/drivers/download_blob_url/driver.cjs +2 -1
  32. package/dist/drivers/download_blob_url/driver.cjs.map +1 -1
  33. package/dist/drivers/download_blob_url/driver.d.ts +2 -2
  34. package/dist/drivers/download_blob_url/driver.d.ts.map +1 -1
  35. package/dist/drivers/download_blob_url/driver.js +3 -2
  36. package/dist/drivers/download_blob_url/driver.js.map +1 -1
  37. package/dist/drivers/download_blob_url/driver_id.cjs +4 -1
  38. package/dist/drivers/download_blob_url/driver_id.cjs.map +1 -1
  39. package/dist/drivers/download_blob_url/driver_id.js +3 -1
  40. package/dist/drivers/download_blob_url/driver_id.js.map +1 -1
  41. package/dist/drivers/download_url/task.cjs +1 -1
  42. package/dist/drivers/download_url/task.cjs.map +1 -1
  43. package/dist/drivers/download_url/task.d.ts.map +1 -1
  44. package/dist/drivers/download_url/task.js +1 -1
  45. package/dist/drivers/download_url/task.js.map +1 -1
  46. package/dist/drivers/helpers/download_remote_handle.cjs +7 -4
  47. package/dist/drivers/helpers/download_remote_handle.cjs.map +1 -1
  48. package/dist/drivers/helpers/download_remote_handle.js +8 -5
  49. package/dist/drivers/helpers/download_remote_handle.js.map +1 -1
  50. package/dist/drivers/helpers/logs_handle.cjs +9 -6
  51. package/dist/drivers/helpers/logs_handle.cjs.map +1 -1
  52. package/dist/drivers/helpers/logs_handle.js +10 -7
  53. package/dist/drivers/helpers/logs_handle.js.map +1 -1
  54. package/dist/drivers/helpers/ls_remote_import_handle.cjs +2 -2
  55. package/dist/drivers/helpers/ls_remote_import_handle.cjs.map +1 -1
  56. package/dist/drivers/helpers/ls_remote_import_handle.js +2 -2
  57. package/dist/drivers/helpers/ls_remote_import_handle.js.map +1 -1
  58. package/dist/drivers/helpers/ls_storage_entry.cjs +10 -16
  59. package/dist/drivers/helpers/ls_storage_entry.cjs.map +1 -1
  60. package/dist/drivers/helpers/ls_storage_entry.js +11 -17
  61. package/dist/drivers/helpers/ls_storage_entry.js.map +1 -1
  62. package/dist/drivers/logs_stream.cjs.map +1 -1
  63. package/dist/drivers/logs_stream.js.map +1 -1
  64. package/dist/drivers/ls.cjs +31 -29
  65. package/dist/drivers/ls.cjs.map +1 -1
  66. package/dist/drivers/ls.d.ts +10 -10
  67. package/dist/drivers/ls.d.ts.map +1 -1
  68. package/dist/drivers/ls.js +31 -29
  69. package/dist/drivers/ls.js.map +1 -1
  70. package/dist/drivers/types.cjs.map +1 -1
  71. package/dist/drivers/types.d.ts +2 -1
  72. package/dist/drivers/types.d.ts.map +1 -1
  73. package/dist/drivers/types.js.map +1 -1
  74. package/dist/drivers/upload.cjs.map +1 -1
  75. package/dist/drivers/upload.js.map +1 -1
  76. package/dist/drivers/virtual_storages.cjs +3 -0
  77. package/dist/drivers/virtual_storages.cjs.map +1 -1
  78. package/dist/drivers/virtual_storages.js +3 -0
  79. package/dist/drivers/virtual_storages.js.map +1 -1
  80. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.cjs +2 -2
  81. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.cjs.map +1 -1
  82. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.d.ts +2 -2
  83. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.d.ts.map +1 -1
  84. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.js +2 -2
  85. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.js.map +1 -1
  86. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.cjs +2 -2
  87. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.cjs.map +1 -1
  88. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.d.ts.map +1 -1
  89. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.js +2 -2
  90. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.js.map +1 -1
  91. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.cjs +4 -4
  92. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.cjs.map +1 -1
  93. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.d.ts +4 -4
  94. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.d.ts.map +1 -1
  95. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.js +4 -4
  96. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.js.map +1 -1
  97. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.cjs +6 -6
  98. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.cjs.map +1 -1
  99. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.d.ts +6 -6
  100. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.d.ts.map +1 -1
  101. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.js +6 -6
  102. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.js.map +1 -1
  103. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.cjs +10 -10
  104. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.cjs.map +1 -1
  105. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.js +10 -10
  106. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.js.map +1 -1
  107. package/dist/proto-rest/downloadapi.d.ts +6 -6
  108. package/dist/proto-rest/downloadapi.d.ts.map +1 -1
  109. package/dist/proto-rest/progressapi.d.ts +19 -19
  110. package/dist/proto-rest/progressapi.d.ts.map +1 -1
  111. package/package.json +5 -5
  112. package/src/clients/download.ts +6 -3
  113. package/src/clients/logs.ts +22 -7
  114. package/src/clients/ls_api.ts +6 -4
  115. package/src/clients/progress.ts +18 -4
  116. package/src/clients/upload.ts +31 -14
  117. package/src/drivers/download_blob/blob_key.ts +4 -8
  118. package/src/drivers/download_blob/download_blob.ts +2 -2
  119. package/src/drivers/download_blob_url/driver.ts +10 -5
  120. package/src/drivers/download_blob_url/driver_id.ts +5 -3
  121. package/src/drivers/download_url/task.ts +5 -1
  122. package/src/drivers/helpers/download_remote_handle.ts +16 -5
  123. package/src/drivers/helpers/logs_handle.ts +16 -7
  124. package/src/drivers/helpers/ls_remote_import_handle.ts +2 -2
  125. package/src/drivers/helpers/ls_storage_entry.ts +15 -17
  126. package/src/drivers/logs_stream.ts +5 -5
  127. package/src/drivers/ls.test.ts +4 -4
  128. package/src/drivers/ls.ts +44 -58
  129. package/src/drivers/types.ts +3 -1
  130. package/src/drivers/upload.ts +3 -3
  131. package/src/drivers/virtual_storages.ts +3 -0
  132. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.ts +7 -6
  133. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.ts +7 -6
  134. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.ts +14 -12
  135. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.ts +21 -18
  136. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.ts +35 -30
  137. package/src/proto-grpc/google/protobuf/descriptor.ts +5 -2
  138. package/src/proto-rest/downloadapi.ts +6 -6
  139. package/src/proto-rest/lsapi.ts +30 -30
  140. package/src/proto-rest/progressapi.ts +21 -21
  141. package/src/proto-rest/uploadapi.ts +41 -41
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","names":[],"sources":["../../../../../../../../../src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter client_generic,optimize_speed,generate_dependencies,force_server_none\n// @generated from protobuf file \"github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.proto\" (package \"MiLaboratories.Controller.Shared\", syntax proto3)\n// tslint:disable\nimport { ServiceType } from \"@protobuf-ts/runtime-rpc\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI\n */\nexport interface UploadAPI {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init\n */\nexport interface UploadAPI_Init {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init.Request\n */\nexport interface UploadAPI_Init_Request {\n /**\n * ID of the upload resource\n *\n * @generated from protobuf field: uint64 resource_id = 1\n */\n resourceId: bigint;\n /**\n * Signature proving the caller is authorized to access this resource.\n *\n * @generated from protobuf field: optional bytes resource_signature = 2\n */\n resourceSignature?: Uint8Array;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init.Response\n */\nexport interface UploadAPI_Init_Response {\n /**\n * Number of parts in this upload.\n * For parallel upload support, the client can generate any number of part upload URLs\n * at once and upload them in parallel.\n * <parts_count> keeps the number of chunks supported by this upload.\n * The parts count is calculated from the planned size of the upload, controller\n * configuration, and underlying storage restrictions.\n *\n * @generated from protobuf field: uint64 parts_count = 1\n */\n partsCount: bigint;\n /**\n * @generated from protobuf field: uint64 part_size = 3\n */\n partSize: bigint;\n /**\n * Checksum algorithm to use for each part upload and final verification.\n *\n * @generated from protobuf field: MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm = 4\n */\n checksumAlgorithm: UploadAPI_ChecksumAlgorithm;\n /**\n * Header name to use for the checksum in each part upload request.\n * A non-empty value combined with checksum_algorithm enables each part upload verification.\n *\n * @generated from protobuf field: string checksum_header = 5\n */\n checksumHeader: string;\n /**\n * List of IDs of parts that were already uploaded by the client.\n * Helps the client recover the upload and skip already uploaded parts\n * after being interrupted in the middle of the upload\n * (say, because of a restart).\n * Parts enumeration starts from 1.\n *\n * @generated from protobuf field: repeated uint64 uploaded_parts = 2\n */\n uploadedParts: bigint[];\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress\n */\nexport interface UploadAPI_UpdateProgress {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Request\n */\nexport interface UploadAPI_UpdateProgress_Request {\n /**\n * ID of the upload resource\n *\n * @generated from protobuf field: uint64 resource_id = 1\n */\n resourceId: bigint;\n /**\n * Signature proving the caller is authorized to access this resource.\n *\n * @generated from protobuf field: optional bytes resource_signature = 3\n */\n resourceSignature?: Uint8Array;\n /**\n * Number of bytes uploaded since the earlier call to UpdateProgress.\n * This value is just blindly added to the 'bytes_processed' of the progress report,\n * so other clients can see the upload progress.\n * If the client uploads the data in several streams (several chunks in parallel), it\n * can safely send progress updates individually for each of the streams, just counting\n * bytes uploaded by a particular stream.\n *\n * A negative value can be used to report an upload retry: when the upload was interrupted,\n * part of the uploaded data is lost and requires a re-upload.\n *\n * @generated from protobuf field: int64 bytes_processed = 2\n */\n bytesProcessed: bigint;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Response\n */\nexport interface UploadAPI_UpdateProgress_Response {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL\n */\nexport interface UploadAPI_GetPartURL {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Request\n */\nexport interface UploadAPI_GetPartURL_Request {\n /**\n * ID of the upload resource\n *\n * @generated from protobuf field: uint64 resource_id = 1\n */\n resourceId: bigint;\n /**\n * Signature proving the caller is authorized to access this resource.\n *\n * @generated from protobuf field: optional bytes resource_signature = 6\n */\n resourceSignature?: Uint8Array;\n /**\n * Part to be uploaded. It is the responsibility of the client to keep track of already uploaded parts:\n * - client can request a URL for the same part twice (request -> request) without errors;\n * - client can request a URL for an already uploaded part (request -> upload -> request) without errors.\n *\n * Parts enumeration starts from 1.\n *\n * @generated from protobuf field: uint64 part_number = 2\n */\n partNumber: bigint;\n /**\n * Size of the part uploaded by the client earlier. Allows the controller to count upload progress\n * based on the client's input.\n * The client is free to never send this value (send zeroes in each request).\n *\n * @generated from protobuf field: uint64 uploaded_part_size = 3\n */\n uploadedPartSize: bigint;\n /**\n * Whether to presign the URL for internal use.\n * Controllers could use this if they are trying to upload something from the internal network.\n * For backward compatibility, by default the pl backend will presign external URLs.\n *\n * @generated from protobuf field: bool is_internal_use = 4\n */\n isInternalUse: boolean;\n /**\n * Checksum is not used for now, but it is here for the case\n * where signing the checksum header is required.\n *\n * @generated from protobuf field: string part_checksum = 5\n */\n partChecksum: string;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader\n */\nexport interface UploadAPI_GetPartURL_HTTPHeader {\n /**\n * @generated from protobuf field: string name = 1\n */\n name: string;\n /**\n * @generated from protobuf field: string value = 2\n */\n value: string;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Response\n */\nexport interface UploadAPI_GetPartURL_Response {\n /**\n * URL for chunk upload\n *\n * @generated from protobuf field: string upload_url = 1\n */\n uploadUrl: string;\n /**\n * HTTP method to use for chunk upload, say 'PUT' or 'POST'.\n *\n * @generated from protobuf field: string method = 2\n */\n method: string;\n /**\n * List of headers with their values that MUST be sent by the client for the upload.\n * The destination service (the one that will handle the upload request for a specific part)\n * may reject the request if it does not include the given headers.\n *\n * @generated from protobuf field: repeated MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader headers = 3\n */\n headers: UploadAPI_GetPartURL_HTTPHeader[];\n /**\n * The number of the _first_ byte in the chunk.\n * Absolute position from the start of the file ( file.seek(<chunk_start>, SEEK_START) ).\n * The client is expected to send the [<chunk_start>; <chunk_end>) range.\n *\n * @generated from protobuf field: uint64 chunk_start = 4\n */\n chunkStart: bigint;\n /**\n * The number of the byte _after_ the last to be sent in the chunk.\n * Absolute position from the start of the file.\n * The client is expected to send the [<chunk_start>; <chunk_end>) range.\n *\n * @generated from protobuf field: uint64 chunk_end = 5\n */\n chunkEnd: bigint;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize\n */\nexport interface UploadAPI_Finalize {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize.Request\n */\nexport interface UploadAPI_Finalize_Request {\n /**\n * @generated from protobuf field: uint64 resource_id = 1\n */\n resourceId: bigint;\n /**\n * Signature proving the caller is authorized to access this resource.\n *\n * @generated from protobuf field: optional bytes resource_signature = 4\n */\n resourceSignature?: Uint8Array;\n /**\n * The client can send the final checksum of the whole file to verify the upload.\n * The algorithm used to calculate this final checksum must match the algorithm from\n * Init.Response. The server may reject the request on a mismatch\n * (meaning the server does not support the given algorithm).\n *\n * @generated from protobuf field: MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm = 2\n */\n checksumAlgorithm: UploadAPI_ChecksumAlgorithm;\n /**\n * Checksum of the whole file for validation. When provided, the server may verify the upload before\n * marking it final. This is optional behavior that depends on the particular storage driver\n * used on the backend side for this upload. See the storage driver's implementation for more details.\n *\n * @generated from protobuf field: bytes checksum = 3\n */\n checksum: Uint8Array;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize.Response\n */\nexport interface UploadAPI_Finalize_Response {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset\n */\nexport interface UploadAPI_Reset {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset.Request\n */\nexport interface UploadAPI_Reset_Request {\n /**\n * @generated from protobuf field: uint64 resource_id = 1\n */\n resourceId: bigint;\n /**\n * Signature proving the caller is authorized to access this resource.\n *\n * @generated from protobuf field: optional bytes resource_signature = 2\n */\n resourceSignature?: Uint8Array;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset.Response\n */\nexport interface UploadAPI_Reset_Response {\n}\n/**\n * @generated from protobuf enum MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm\n */\nexport enum UploadAPI_ChecksumAlgorithm {\n /**\n * @generated from protobuf enum value: CHECKSUM_ALGORITHM_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * @generated from protobuf enum value: CHECKSUM_ALGORITHM_CRC32C = 1;\n */\n CRC32C = 1\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI$Type extends MessageType<UploadAPI> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI\", []);\n }\n create(value?: PartialMessage<UploadAPI>): UploadAPI {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI): UploadAPI {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI\n */\nexport const UploadAPI = new UploadAPI$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Init$Type extends MessageType<UploadAPI_Init> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Init\", []);\n }\n create(value?: PartialMessage<UploadAPI_Init>): UploadAPI_Init {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Init>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Init): UploadAPI_Init {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Init, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init\n */\nexport const UploadAPI_Init = new UploadAPI_Init$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Init_Request$Type extends MessageType<UploadAPI_Init_Request> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Init.Request\", [\n { no: 1, name: \"resource_id\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 2, name: \"resource_signature\", kind: \"scalar\", opt: true, T: 12 /*ScalarType.BYTES*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_Init_Request>): UploadAPI_Init_Request {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.resourceId = 0n;\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Init_Request>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Init_Request): UploadAPI_Init_Request {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 resource_id */ 1:\n message.resourceId = reader.uint64().toBigInt();\n break;\n case /* optional bytes resource_signature */ 2:\n message.resourceSignature = reader.bytes();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Init_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 resource_id = 1; */\n if (message.resourceId !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.resourceId);\n /* optional bytes resource_signature = 2; */\n if (message.resourceSignature !== undefined)\n writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init.Request\n */\nexport const UploadAPI_Init_Request = new UploadAPI_Init_Request$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Init_Response$Type extends MessageType<UploadAPI_Init_Response> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Init.Response\", [\n { no: 1, name: \"parts_count\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 3, name: \"part_size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 4, name: \"checksum_algorithm\", kind: \"enum\", T: () => [\"MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm\", UploadAPI_ChecksumAlgorithm, \"CHECKSUM_ALGORITHM_\"] },\n { no: 5, name: \"checksum_header\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"uploaded_parts\", kind: \"scalar\", repeat: 1 /*RepeatType.PACKED*/, T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_Init_Response>): UploadAPI_Init_Response {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.partsCount = 0n;\n message.partSize = 0n;\n message.checksumAlgorithm = 0;\n message.checksumHeader = \"\";\n message.uploadedParts = [];\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Init_Response>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Init_Response): UploadAPI_Init_Response {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 parts_count */ 1:\n message.partsCount = reader.uint64().toBigInt();\n break;\n case /* uint64 part_size */ 3:\n message.partSize = reader.uint64().toBigInt();\n break;\n case /* MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm */ 4:\n message.checksumAlgorithm = reader.int32();\n break;\n case /* string checksum_header */ 5:\n message.checksumHeader = reader.string();\n break;\n case /* repeated uint64 uploaded_parts */ 2:\n if (wireType === WireType.LengthDelimited)\n for (let e = reader.int32() + reader.pos; reader.pos < e;)\n message.uploadedParts.push(reader.uint64().toBigInt());\n else\n message.uploadedParts.push(reader.uint64().toBigInt());\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Init_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 parts_count = 1; */\n if (message.partsCount !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.partsCount);\n /* repeated uint64 uploaded_parts = 2; */\n if (message.uploadedParts.length) {\n writer.tag(2, WireType.LengthDelimited).fork();\n for (let i = 0; i < message.uploadedParts.length; i++)\n writer.uint64(message.uploadedParts[i]);\n writer.join();\n }\n /* uint64 part_size = 3; */\n if (message.partSize !== 0n)\n writer.tag(3, WireType.Varint).uint64(message.partSize);\n /* MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm = 4; */\n if (message.checksumAlgorithm !== 0)\n writer.tag(4, WireType.Varint).int32(message.checksumAlgorithm);\n /* string checksum_header = 5; */\n if (message.checksumHeader !== \"\")\n writer.tag(5, WireType.LengthDelimited).string(message.checksumHeader);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init.Response\n */\nexport const UploadAPI_Init_Response = new UploadAPI_Init_Response$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_UpdateProgress$Type extends MessageType<UploadAPI_UpdateProgress> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress\", []);\n }\n create(value?: PartialMessage<UploadAPI_UpdateProgress>): UploadAPI_UpdateProgress {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_UpdateProgress>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_UpdateProgress): UploadAPI_UpdateProgress {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_UpdateProgress, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress\n */\nexport const UploadAPI_UpdateProgress = new UploadAPI_UpdateProgress$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_UpdateProgress_Request$Type extends MessageType<UploadAPI_UpdateProgress_Request> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Request\", [\n { no: 1, name: \"resource_id\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 3, name: \"resource_signature\", kind: \"scalar\", opt: true, T: 12 /*ScalarType.BYTES*/ },\n { no: 2, name: \"bytes_processed\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_UpdateProgress_Request>): UploadAPI_UpdateProgress_Request {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.resourceId = 0n;\n message.bytesProcessed = 0n;\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_UpdateProgress_Request>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_UpdateProgress_Request): UploadAPI_UpdateProgress_Request {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 resource_id */ 1:\n message.resourceId = reader.uint64().toBigInt();\n break;\n case /* optional bytes resource_signature */ 3:\n message.resourceSignature = reader.bytes();\n break;\n case /* int64 bytes_processed */ 2:\n message.bytesProcessed = reader.int64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_UpdateProgress_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 resource_id = 1; */\n if (message.resourceId !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.resourceId);\n /* int64 bytes_processed = 2; */\n if (message.bytesProcessed !== 0n)\n writer.tag(2, WireType.Varint).int64(message.bytesProcessed);\n /* optional bytes resource_signature = 3; */\n if (message.resourceSignature !== undefined)\n writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Request\n */\nexport const UploadAPI_UpdateProgress_Request = new UploadAPI_UpdateProgress_Request$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_UpdateProgress_Response$Type extends MessageType<UploadAPI_UpdateProgress_Response> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Response\", []);\n }\n create(value?: PartialMessage<UploadAPI_UpdateProgress_Response>): UploadAPI_UpdateProgress_Response {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_UpdateProgress_Response>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_UpdateProgress_Response): UploadAPI_UpdateProgress_Response {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_UpdateProgress_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Response\n */\nexport const UploadAPI_UpdateProgress_Response = new UploadAPI_UpdateProgress_Response$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_GetPartURL$Type extends MessageType<UploadAPI_GetPartURL> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.GetPartURL\", []);\n }\n create(value?: PartialMessage<UploadAPI_GetPartURL>): UploadAPI_GetPartURL {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_GetPartURL>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_GetPartURL): UploadAPI_GetPartURL {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_GetPartURL, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL\n */\nexport const UploadAPI_GetPartURL = new UploadAPI_GetPartURL$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_GetPartURL_Request$Type extends MessageType<UploadAPI_GetPartURL_Request> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Request\", [\n { no: 1, name: \"resource_id\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 6, name: \"resource_signature\", kind: \"scalar\", opt: true, T: 12 /*ScalarType.BYTES*/ },\n { no: 2, name: \"part_number\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 3, name: \"uploaded_part_size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 4, name: \"is_internal_use\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n { no: 5, name: \"part_checksum\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_GetPartURL_Request>): UploadAPI_GetPartURL_Request {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.resourceId = 0n;\n message.partNumber = 0n;\n message.uploadedPartSize = 0n;\n message.isInternalUse = false;\n message.partChecksum = \"\";\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_GetPartURL_Request>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_GetPartURL_Request): UploadAPI_GetPartURL_Request {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 resource_id */ 1:\n message.resourceId = reader.uint64().toBigInt();\n break;\n case /* optional bytes resource_signature */ 6:\n message.resourceSignature = reader.bytes();\n break;\n case /* uint64 part_number */ 2:\n message.partNumber = reader.uint64().toBigInt();\n break;\n case /* uint64 uploaded_part_size */ 3:\n message.uploadedPartSize = reader.uint64().toBigInt();\n break;\n case /* bool is_internal_use */ 4:\n message.isInternalUse = reader.bool();\n break;\n case /* string part_checksum */ 5:\n message.partChecksum = reader.string();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_GetPartURL_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 resource_id = 1; */\n if (message.resourceId !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.resourceId);\n /* uint64 part_number = 2; */\n if (message.partNumber !== 0n)\n writer.tag(2, WireType.Varint).uint64(message.partNumber);\n /* uint64 uploaded_part_size = 3; */\n if (message.uploadedPartSize !== 0n)\n writer.tag(3, WireType.Varint).uint64(message.uploadedPartSize);\n /* bool is_internal_use = 4; */\n if (message.isInternalUse !== false)\n writer.tag(4, WireType.Varint).bool(message.isInternalUse);\n /* string part_checksum = 5; */\n if (message.partChecksum !== \"\")\n writer.tag(5, WireType.LengthDelimited).string(message.partChecksum);\n /* optional bytes resource_signature = 6; */\n if (message.resourceSignature !== undefined)\n writer.tag(6, WireType.LengthDelimited).bytes(message.resourceSignature);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Request\n */\nexport const UploadAPI_GetPartURL_Request = new UploadAPI_GetPartURL_Request$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_GetPartURL_HTTPHeader$Type extends MessageType<UploadAPI_GetPartURL_HTTPHeader> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader\", [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"value\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_GetPartURL_HTTPHeader>): UploadAPI_GetPartURL_HTTPHeader {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.name = \"\";\n message.value = \"\";\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_GetPartURL_HTTPHeader>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_GetPartURL_HTTPHeader): UploadAPI_GetPartURL_HTTPHeader {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string name */ 1:\n message.name = reader.string();\n break;\n case /* string value */ 2:\n message.value = reader.string();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_GetPartURL_HTTPHeader, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string name = 1; */\n if (message.name !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.name);\n /* string value = 2; */\n if (message.value !== \"\")\n writer.tag(2, WireType.LengthDelimited).string(message.value);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader\n */\nexport const UploadAPI_GetPartURL_HTTPHeader = new UploadAPI_GetPartURL_HTTPHeader$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_GetPartURL_Response$Type extends MessageType<UploadAPI_GetPartURL_Response> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Response\", [\n { no: 1, name: \"upload_url\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"method\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 3, name: \"headers\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UploadAPI_GetPartURL_HTTPHeader },\n { no: 4, name: \"chunk_start\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 5, name: \"chunk_end\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_GetPartURL_Response>): UploadAPI_GetPartURL_Response {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.uploadUrl = \"\";\n message.method = \"\";\n message.headers = [];\n message.chunkStart = 0n;\n message.chunkEnd = 0n;\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_GetPartURL_Response>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_GetPartURL_Response): UploadAPI_GetPartURL_Response {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string upload_url */ 1:\n message.uploadUrl = reader.string();\n break;\n case /* string method */ 2:\n message.method = reader.string();\n break;\n case /* repeated MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader headers */ 3:\n message.headers.push(UploadAPI_GetPartURL_HTTPHeader.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* uint64 chunk_start */ 4:\n message.chunkStart = reader.uint64().toBigInt();\n break;\n case /* uint64 chunk_end */ 5:\n message.chunkEnd = reader.uint64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_GetPartURL_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string upload_url = 1; */\n if (message.uploadUrl !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.uploadUrl);\n /* string method = 2; */\n if (message.method !== \"\")\n writer.tag(2, WireType.LengthDelimited).string(message.method);\n /* repeated MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader headers = 3; */\n for (let i = 0; i < message.headers.length; i++)\n UploadAPI_GetPartURL_HTTPHeader.internalBinaryWrite(message.headers[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n /* uint64 chunk_start = 4; */\n if (message.chunkStart !== 0n)\n writer.tag(4, WireType.Varint).uint64(message.chunkStart);\n /* uint64 chunk_end = 5; */\n if (message.chunkEnd !== 0n)\n writer.tag(5, WireType.Varint).uint64(message.chunkEnd);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Response\n */\nexport const UploadAPI_GetPartURL_Response = new UploadAPI_GetPartURL_Response$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Finalize$Type extends MessageType<UploadAPI_Finalize> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Finalize\", []);\n }\n create(value?: PartialMessage<UploadAPI_Finalize>): UploadAPI_Finalize {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Finalize>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Finalize): UploadAPI_Finalize {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Finalize, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize\n */\nexport const UploadAPI_Finalize = new UploadAPI_Finalize$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Finalize_Request$Type extends MessageType<UploadAPI_Finalize_Request> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Finalize.Request\", [\n { no: 1, name: \"resource_id\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 4, name: \"resource_signature\", kind: \"scalar\", opt: true, T: 12 /*ScalarType.BYTES*/ },\n { no: 2, name: \"checksum_algorithm\", kind: \"enum\", T: () => [\"MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm\", UploadAPI_ChecksumAlgorithm, \"CHECKSUM_ALGORITHM_\"] },\n { no: 3, name: \"checksum\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_Finalize_Request>): UploadAPI_Finalize_Request {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.resourceId = 0n;\n message.checksumAlgorithm = 0;\n message.checksum = new Uint8Array(0);\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Finalize_Request>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Finalize_Request): UploadAPI_Finalize_Request {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 resource_id */ 1:\n message.resourceId = reader.uint64().toBigInt();\n break;\n case /* optional bytes resource_signature */ 4:\n message.resourceSignature = reader.bytes();\n break;\n case /* MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm */ 2:\n message.checksumAlgorithm = reader.int32();\n break;\n case /* bytes checksum */ 3:\n message.checksum = reader.bytes();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Finalize_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 resource_id = 1; */\n if (message.resourceId !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.resourceId);\n /* MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm = 2; */\n if (message.checksumAlgorithm !== 0)\n writer.tag(2, WireType.Varint).int32(message.checksumAlgorithm);\n /* bytes checksum = 3; */\n if (message.checksum.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.checksum);\n /* optional bytes resource_signature = 4; */\n if (message.resourceSignature !== undefined)\n writer.tag(4, WireType.LengthDelimited).bytes(message.resourceSignature);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize.Request\n */\nexport const UploadAPI_Finalize_Request = new UploadAPI_Finalize_Request$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Finalize_Response$Type extends MessageType<UploadAPI_Finalize_Response> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Finalize.Response\", []);\n }\n create(value?: PartialMessage<UploadAPI_Finalize_Response>): UploadAPI_Finalize_Response {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Finalize_Response>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Finalize_Response): UploadAPI_Finalize_Response {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Finalize_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize.Response\n */\nexport const UploadAPI_Finalize_Response = new UploadAPI_Finalize_Response$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Reset$Type extends MessageType<UploadAPI_Reset> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Reset\", []);\n }\n create(value?: PartialMessage<UploadAPI_Reset>): UploadAPI_Reset {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Reset>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Reset): UploadAPI_Reset {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Reset, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset\n */\nexport const UploadAPI_Reset = new UploadAPI_Reset$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Reset_Request$Type extends MessageType<UploadAPI_Reset_Request> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Reset.Request\", [\n { no: 1, name: \"resource_id\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 2, name: \"resource_signature\", kind: \"scalar\", opt: true, T: 12 /*ScalarType.BYTES*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_Reset_Request>): UploadAPI_Reset_Request {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.resourceId = 0n;\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Reset_Request>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Reset_Request): UploadAPI_Reset_Request {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 resource_id */ 1:\n message.resourceId = reader.uint64().toBigInt();\n break;\n case /* optional bytes resource_signature */ 2:\n message.resourceSignature = reader.bytes();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Reset_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 resource_id = 1; */\n if (message.resourceId !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.resourceId);\n /* optional bytes resource_signature = 2; */\n if (message.resourceSignature !== undefined)\n writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset.Request\n */\nexport const UploadAPI_Reset_Request = new UploadAPI_Reset_Request$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Reset_Response$Type extends MessageType<UploadAPI_Reset_Response> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Reset.Response\", []);\n }\n create(value?: PartialMessage<UploadAPI_Reset_Response>): UploadAPI_Reset_Response {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Reset_Response>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Reset_Response): UploadAPI_Reset_Response {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Reset_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset.Response\n */\nexport const UploadAPI_Reset_Response = new UploadAPI_Reset_Response$Type();\n/**\n * @generated ServiceType for protobuf service MiLaboratories.Controller.Shared.Upload\n */\nexport const Upload = new ServiceType(\"MiLaboratories.Controller.Shared.Upload\", [\n { name: \"Init\", options: { \"google.api.http\": { post: \"/v1/upload/init\", body: \"*\" } }, I: UploadAPI_Init_Request, O: UploadAPI_Init_Response },\n { name: \"GetPartURL\", options: { \"google.api.http\": { post: \"/v1/upload/get-part-url\", body: \"*\" } }, I: UploadAPI_GetPartURL_Request, O: UploadAPI_GetPartURL_Response },\n { name: \"UpdateProgress\", options: { \"google.api.http\": { post: \"/v1/upload/update-progress\", body: \"*\" } }, I: UploadAPI_UpdateProgress_Request, O: UploadAPI_UpdateProgress_Response },\n { name: \"Finalize\", options: { \"google.api.http\": { post: \"/v1/upload/finalize\", body: \"*\" } }, I: UploadAPI_Finalize_Request, O: UploadAPI_Finalize_Response },\n { name: \"Reset\", options: { \"google.api.http\": { post: \"/v1/upload/reset\", body: \"*\" } }, I: UploadAPI_Reset_Request, O: UploadAPI_Reset_Response }\n]);\n"],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","names":[],"sources":["../../../../../../../../../src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter client_generic,optimize_speed,generate_dependencies,force_server_none\n// @generated from protobuf file \"github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.proto\" (package \"MiLaboratories.Controller.Shared\", syntax proto3)\n// tslint:disable\nimport { ServiceType } from \"@protobuf-ts/runtime-rpc\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI\n */\nexport interface UploadAPI {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init\n */\nexport interface UploadAPI_Init {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init.Request\n */\nexport interface UploadAPI_Init_Request {\n /**\n * ID of the upload resource\n *\n * @generated from protobuf field: uint64 resource_id = 1\n */\n resourceId: bigint;\n /**\n * Signature proving the caller is authorized to access this resource.\n *\n * @generated from protobuf field: bytes resource_signature = 2\n */\n resourceSignature: Uint8Array;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init.Response\n */\nexport interface UploadAPI_Init_Response {\n /**\n * Number of parts in this upload.\n * For parallel upload support, the client can generate any number of part upload URLs\n * at once and upload them in parallel.\n * <parts_count> keeps the number of chunks supported by this upload.\n * The parts count is calculated from the planned size of the upload, controller\n * configuration, and underlying storage restrictions.\n *\n * @generated from protobuf field: uint64 parts_count = 1\n */\n partsCount: bigint;\n /**\n * @generated from protobuf field: uint64 part_size = 3\n */\n partSize: bigint;\n /**\n * Checksum algorithm to use for each part upload and final verification.\n *\n * @generated from protobuf field: MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm = 4\n */\n checksumAlgorithm: UploadAPI_ChecksumAlgorithm;\n /**\n * Header name to use for the checksum in each part upload request.\n * A non-empty value combined with checksum_algorithm enables each part upload verification.\n *\n * @generated from protobuf field: string checksum_header = 5\n */\n checksumHeader: string;\n /**\n * List of IDs of parts that were already uploaded by the client.\n * Helps the client recover the upload and skip already uploaded parts\n * after being interrupted in the middle of the upload\n * (say, because of a restart).\n * Parts enumeration starts from 1.\n *\n * @generated from protobuf field: repeated uint64 uploaded_parts = 2\n */\n uploadedParts: bigint[];\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress\n */\nexport interface UploadAPI_UpdateProgress {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Request\n */\nexport interface UploadAPI_UpdateProgress_Request {\n /**\n * ID of the upload resource\n *\n * @generated from protobuf field: uint64 resource_id = 1\n */\n resourceId: bigint;\n /**\n * Signature proving the caller is authorized to access this resource.\n *\n * @generated from protobuf field: bytes resource_signature = 3\n */\n resourceSignature: Uint8Array;\n /**\n * Number of bytes uploaded since the earlier call to UpdateProgress.\n * This value is just blindly added to the 'bytes_processed' of the progress report,\n * so other clients can see the upload progress.\n * If the client uploads the data in several streams (several chunks in parallel), it\n * can safely send progress updates individually for each of the streams, just counting\n * bytes uploaded by a particular stream.\n *\n * A negative value can be used to report an upload retry: when the upload was interrupted,\n * part of the uploaded data is lost and requires a re-upload.\n *\n * @generated from protobuf field: int64 bytes_processed = 2\n */\n bytesProcessed: bigint;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Response\n */\nexport interface UploadAPI_UpdateProgress_Response {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL\n */\nexport interface UploadAPI_GetPartURL {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Request\n */\nexport interface UploadAPI_GetPartURL_Request {\n /**\n * ID of the upload resource\n *\n * @generated from protobuf field: uint64 resource_id = 1\n */\n resourceId: bigint;\n /**\n * Signature proving the caller is authorized to access this resource.\n *\n * @generated from protobuf field: bytes resource_signature = 6\n */\n resourceSignature: Uint8Array;\n /**\n * Part to be uploaded. It is the responsibility of the client to keep track of already uploaded parts:\n * - client can request a URL for the same part twice (request -> request) without errors;\n * - client can request a URL for an already uploaded part (request -> upload -> request) without errors.\n *\n * Parts enumeration starts from 1.\n *\n * @generated from protobuf field: uint64 part_number = 2\n */\n partNumber: bigint;\n /**\n * Size of the part uploaded by the client earlier. Allows the controller to count upload progress\n * based on the client's input.\n * The client is free to never send this value (send zeroes in each request).\n *\n * @generated from protobuf field: uint64 uploaded_part_size = 3\n */\n uploadedPartSize: bigint;\n /**\n * Whether to presign the URL for internal use.\n * Controllers could use this if they are trying to upload something from the internal network.\n * For backward compatibility, by default the pl backend will presign external URLs.\n *\n * @generated from protobuf field: bool is_internal_use = 4\n */\n isInternalUse: boolean;\n /**\n * Checksum is not used for now, but it is here for the case\n * where signing the checksum header is required.\n *\n * @generated from protobuf field: string part_checksum = 5\n */\n partChecksum: string;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader\n */\nexport interface UploadAPI_GetPartURL_HTTPHeader {\n /**\n * @generated from protobuf field: string name = 1\n */\n name: string;\n /**\n * @generated from protobuf field: string value = 2\n */\n value: string;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Response\n */\nexport interface UploadAPI_GetPartURL_Response {\n /**\n * URL for chunk upload\n *\n * @generated from protobuf field: string upload_url = 1\n */\n uploadUrl: string;\n /**\n * HTTP method to use for chunk upload, say 'PUT' or 'POST'.\n *\n * @generated from protobuf field: string method = 2\n */\n method: string;\n /**\n * List of headers with their values that MUST be sent by the client for the upload.\n * The destination service (the one that will handle the upload request for a specific part)\n * may reject the request if it does not include the given headers.\n *\n * @generated from protobuf field: repeated MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader headers = 3\n */\n headers: UploadAPI_GetPartURL_HTTPHeader[];\n /**\n * The number of the _first_ byte in the chunk.\n * Absolute position from the start of the file ( file.seek(<chunk_start>, SEEK_START) ).\n * The client is expected to send the [<chunk_start>; <chunk_end>) range.\n *\n * @generated from protobuf field: uint64 chunk_start = 4\n */\n chunkStart: bigint;\n /**\n * The number of the byte _after_ the last to be sent in the chunk.\n * Absolute position from the start of the file.\n * The client is expected to send the [<chunk_start>; <chunk_end>) range.\n *\n * @generated from protobuf field: uint64 chunk_end = 5\n */\n chunkEnd: bigint;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize\n */\nexport interface UploadAPI_Finalize {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize.Request\n */\nexport interface UploadAPI_Finalize_Request {\n /**\n * @generated from protobuf field: uint64 resource_id = 1\n */\n resourceId: bigint;\n /**\n * Signature proving the caller is authorized to access this resource.\n *\n * @generated from protobuf field: bytes resource_signature = 4\n */\n resourceSignature: Uint8Array;\n /**\n * The client can send the final checksum of the whole file to verify the upload.\n * The algorithm used to calculate this final checksum must match the algorithm from\n * Init.Response. The server may reject the request on a mismatch\n * (meaning the server does not support the given algorithm).\n *\n * @generated from protobuf field: MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm = 2\n */\n checksumAlgorithm: UploadAPI_ChecksumAlgorithm;\n /**\n * Checksum of the whole file for validation. When provided, the server may verify the upload before\n * marking it final. This is optional behavior that depends on the particular storage driver\n * used on the backend side for this upload. See the storage driver's implementation for more details.\n *\n * @generated from protobuf field: bytes checksum = 3\n */\n checksum: Uint8Array;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize.Response\n */\nexport interface UploadAPI_Finalize_Response {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset\n */\nexport interface UploadAPI_Reset {\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset.Request\n */\nexport interface UploadAPI_Reset_Request {\n /**\n * @generated from protobuf field: uint64 resource_id = 1\n */\n resourceId: bigint;\n /**\n * Signature proving the caller is authorized to access this resource.\n *\n * @generated from protobuf field: bytes resource_signature = 2\n */\n resourceSignature: Uint8Array;\n}\n/**\n * @generated from protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset.Response\n */\nexport interface UploadAPI_Reset_Response {\n}\n/**\n * @generated from protobuf enum MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm\n */\nexport enum UploadAPI_ChecksumAlgorithm {\n /**\n * @generated from protobuf enum value: CHECKSUM_ALGORITHM_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * @generated from protobuf enum value: CHECKSUM_ALGORITHM_CRC32C = 1;\n */\n CRC32C = 1\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI$Type extends MessageType<UploadAPI> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI\", []);\n }\n create(value?: PartialMessage<UploadAPI>): UploadAPI {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI): UploadAPI {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI\n */\nexport const UploadAPI = new UploadAPI$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Init$Type extends MessageType<UploadAPI_Init> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Init\", []);\n }\n create(value?: PartialMessage<UploadAPI_Init>): UploadAPI_Init {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Init>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Init): UploadAPI_Init {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Init, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init\n */\nexport const UploadAPI_Init = new UploadAPI_Init$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Init_Request$Type extends MessageType<UploadAPI_Init_Request> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Init.Request\", [\n { no: 1, name: \"resource_id\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 2, name: \"resource_signature\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_Init_Request>): UploadAPI_Init_Request {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.resourceId = 0n;\n message.resourceSignature = new Uint8Array(0);\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Init_Request>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Init_Request): UploadAPI_Init_Request {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 resource_id */ 1:\n message.resourceId = reader.uint64().toBigInt();\n break;\n case /* bytes resource_signature */ 2:\n message.resourceSignature = reader.bytes();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Init_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 resource_id = 1; */\n if (message.resourceId !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.resourceId);\n /* bytes resource_signature = 2; */\n if (message.resourceSignature.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init.Request\n */\nexport const UploadAPI_Init_Request = new UploadAPI_Init_Request$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Init_Response$Type extends MessageType<UploadAPI_Init_Response> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Init.Response\", [\n { no: 1, name: \"parts_count\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 3, name: \"part_size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 4, name: \"checksum_algorithm\", kind: \"enum\", T: () => [\"MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm\", UploadAPI_ChecksumAlgorithm, \"CHECKSUM_ALGORITHM_\"] },\n { no: 5, name: \"checksum_header\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"uploaded_parts\", kind: \"scalar\", repeat: 1 /*RepeatType.PACKED*/, T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_Init_Response>): UploadAPI_Init_Response {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.partsCount = 0n;\n message.partSize = 0n;\n message.checksumAlgorithm = 0;\n message.checksumHeader = \"\";\n message.uploadedParts = [];\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Init_Response>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Init_Response): UploadAPI_Init_Response {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 parts_count */ 1:\n message.partsCount = reader.uint64().toBigInt();\n break;\n case /* uint64 part_size */ 3:\n message.partSize = reader.uint64().toBigInt();\n break;\n case /* MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm */ 4:\n message.checksumAlgorithm = reader.int32();\n break;\n case /* string checksum_header */ 5:\n message.checksumHeader = reader.string();\n break;\n case /* repeated uint64 uploaded_parts */ 2:\n if (wireType === WireType.LengthDelimited)\n for (let e = reader.int32() + reader.pos; reader.pos < e;)\n message.uploadedParts.push(reader.uint64().toBigInt());\n else\n message.uploadedParts.push(reader.uint64().toBigInt());\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Init_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 parts_count = 1; */\n if (message.partsCount !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.partsCount);\n /* repeated uint64 uploaded_parts = 2; */\n if (message.uploadedParts.length) {\n writer.tag(2, WireType.LengthDelimited).fork();\n for (let i = 0; i < message.uploadedParts.length; i++)\n writer.uint64(message.uploadedParts[i]);\n writer.join();\n }\n /* uint64 part_size = 3; */\n if (message.partSize !== 0n)\n writer.tag(3, WireType.Varint).uint64(message.partSize);\n /* MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm = 4; */\n if (message.checksumAlgorithm !== 0)\n writer.tag(4, WireType.Varint).int32(message.checksumAlgorithm);\n /* string checksum_header = 5; */\n if (message.checksumHeader !== \"\")\n writer.tag(5, WireType.LengthDelimited).string(message.checksumHeader);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Init.Response\n */\nexport const UploadAPI_Init_Response = new UploadAPI_Init_Response$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_UpdateProgress$Type extends MessageType<UploadAPI_UpdateProgress> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress\", []);\n }\n create(value?: PartialMessage<UploadAPI_UpdateProgress>): UploadAPI_UpdateProgress {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_UpdateProgress>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_UpdateProgress): UploadAPI_UpdateProgress {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_UpdateProgress, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress\n */\nexport const UploadAPI_UpdateProgress = new UploadAPI_UpdateProgress$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_UpdateProgress_Request$Type extends MessageType<UploadAPI_UpdateProgress_Request> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Request\", [\n { no: 1, name: \"resource_id\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 3, name: \"resource_signature\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n { no: 2, name: \"bytes_processed\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_UpdateProgress_Request>): UploadAPI_UpdateProgress_Request {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.resourceId = 0n;\n message.resourceSignature = new Uint8Array(0);\n message.bytesProcessed = 0n;\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_UpdateProgress_Request>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_UpdateProgress_Request): UploadAPI_UpdateProgress_Request {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 resource_id */ 1:\n message.resourceId = reader.uint64().toBigInt();\n break;\n case /* bytes resource_signature */ 3:\n message.resourceSignature = reader.bytes();\n break;\n case /* int64 bytes_processed */ 2:\n message.bytesProcessed = reader.int64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_UpdateProgress_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 resource_id = 1; */\n if (message.resourceId !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.resourceId);\n /* int64 bytes_processed = 2; */\n if (message.bytesProcessed !== 0n)\n writer.tag(2, WireType.Varint).int64(message.bytesProcessed);\n /* bytes resource_signature = 3; */\n if (message.resourceSignature.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Request\n */\nexport const UploadAPI_UpdateProgress_Request = new UploadAPI_UpdateProgress_Request$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_UpdateProgress_Response$Type extends MessageType<UploadAPI_UpdateProgress_Response> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Response\", []);\n }\n create(value?: PartialMessage<UploadAPI_UpdateProgress_Response>): UploadAPI_UpdateProgress_Response {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_UpdateProgress_Response>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_UpdateProgress_Response): UploadAPI_UpdateProgress_Response {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_UpdateProgress_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.UpdateProgress.Response\n */\nexport const UploadAPI_UpdateProgress_Response = new UploadAPI_UpdateProgress_Response$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_GetPartURL$Type extends MessageType<UploadAPI_GetPartURL> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.GetPartURL\", []);\n }\n create(value?: PartialMessage<UploadAPI_GetPartURL>): UploadAPI_GetPartURL {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_GetPartURL>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_GetPartURL): UploadAPI_GetPartURL {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_GetPartURL, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL\n */\nexport const UploadAPI_GetPartURL = new UploadAPI_GetPartURL$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_GetPartURL_Request$Type extends MessageType<UploadAPI_GetPartURL_Request> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Request\", [\n { no: 1, name: \"resource_id\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 6, name: \"resource_signature\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n { no: 2, name: \"part_number\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 3, name: \"uploaded_part_size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 4, name: \"is_internal_use\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n { no: 5, name: \"part_checksum\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_GetPartURL_Request>): UploadAPI_GetPartURL_Request {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.resourceId = 0n;\n message.resourceSignature = new Uint8Array(0);\n message.partNumber = 0n;\n message.uploadedPartSize = 0n;\n message.isInternalUse = false;\n message.partChecksum = \"\";\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_GetPartURL_Request>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_GetPartURL_Request): UploadAPI_GetPartURL_Request {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 resource_id */ 1:\n message.resourceId = reader.uint64().toBigInt();\n break;\n case /* bytes resource_signature */ 6:\n message.resourceSignature = reader.bytes();\n break;\n case /* uint64 part_number */ 2:\n message.partNumber = reader.uint64().toBigInt();\n break;\n case /* uint64 uploaded_part_size */ 3:\n message.uploadedPartSize = reader.uint64().toBigInt();\n break;\n case /* bool is_internal_use */ 4:\n message.isInternalUse = reader.bool();\n break;\n case /* string part_checksum */ 5:\n message.partChecksum = reader.string();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_GetPartURL_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 resource_id = 1; */\n if (message.resourceId !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.resourceId);\n /* uint64 part_number = 2; */\n if (message.partNumber !== 0n)\n writer.tag(2, WireType.Varint).uint64(message.partNumber);\n /* uint64 uploaded_part_size = 3; */\n if (message.uploadedPartSize !== 0n)\n writer.tag(3, WireType.Varint).uint64(message.uploadedPartSize);\n /* bool is_internal_use = 4; */\n if (message.isInternalUse !== false)\n writer.tag(4, WireType.Varint).bool(message.isInternalUse);\n /* string part_checksum = 5; */\n if (message.partChecksum !== \"\")\n writer.tag(5, WireType.LengthDelimited).string(message.partChecksum);\n /* bytes resource_signature = 6; */\n if (message.resourceSignature.length)\n writer.tag(6, WireType.LengthDelimited).bytes(message.resourceSignature);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Request\n */\nexport const UploadAPI_GetPartURL_Request = new UploadAPI_GetPartURL_Request$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_GetPartURL_HTTPHeader$Type extends MessageType<UploadAPI_GetPartURL_HTTPHeader> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader\", [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"value\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_GetPartURL_HTTPHeader>): UploadAPI_GetPartURL_HTTPHeader {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.name = \"\";\n message.value = \"\";\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_GetPartURL_HTTPHeader>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_GetPartURL_HTTPHeader): UploadAPI_GetPartURL_HTTPHeader {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string name */ 1:\n message.name = reader.string();\n break;\n case /* string value */ 2:\n message.value = reader.string();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_GetPartURL_HTTPHeader, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string name = 1; */\n if (message.name !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.name);\n /* string value = 2; */\n if (message.value !== \"\")\n writer.tag(2, WireType.LengthDelimited).string(message.value);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader\n */\nexport const UploadAPI_GetPartURL_HTTPHeader = new UploadAPI_GetPartURL_HTTPHeader$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_GetPartURL_Response$Type extends MessageType<UploadAPI_GetPartURL_Response> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Response\", [\n { no: 1, name: \"upload_url\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"method\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 3, name: \"headers\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UploadAPI_GetPartURL_HTTPHeader },\n { no: 4, name: \"chunk_start\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 5, name: \"chunk_end\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_GetPartURL_Response>): UploadAPI_GetPartURL_Response {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.uploadUrl = \"\";\n message.method = \"\";\n message.headers = [];\n message.chunkStart = 0n;\n message.chunkEnd = 0n;\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_GetPartURL_Response>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_GetPartURL_Response): UploadAPI_GetPartURL_Response {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string upload_url */ 1:\n message.uploadUrl = reader.string();\n break;\n case /* string method */ 2:\n message.method = reader.string();\n break;\n case /* repeated MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader headers */ 3:\n message.headers.push(UploadAPI_GetPartURL_HTTPHeader.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* uint64 chunk_start */ 4:\n message.chunkStart = reader.uint64().toBigInt();\n break;\n case /* uint64 chunk_end */ 5:\n message.chunkEnd = reader.uint64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_GetPartURL_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string upload_url = 1; */\n if (message.uploadUrl !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.uploadUrl);\n /* string method = 2; */\n if (message.method !== \"\")\n writer.tag(2, WireType.LengthDelimited).string(message.method);\n /* repeated MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.HTTPHeader headers = 3; */\n for (let i = 0; i < message.headers.length; i++)\n UploadAPI_GetPartURL_HTTPHeader.internalBinaryWrite(message.headers[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n /* uint64 chunk_start = 4; */\n if (message.chunkStart !== 0n)\n writer.tag(4, WireType.Varint).uint64(message.chunkStart);\n /* uint64 chunk_end = 5; */\n if (message.chunkEnd !== 0n)\n writer.tag(5, WireType.Varint).uint64(message.chunkEnd);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.GetPartURL.Response\n */\nexport const UploadAPI_GetPartURL_Response = new UploadAPI_GetPartURL_Response$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Finalize$Type extends MessageType<UploadAPI_Finalize> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Finalize\", []);\n }\n create(value?: PartialMessage<UploadAPI_Finalize>): UploadAPI_Finalize {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Finalize>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Finalize): UploadAPI_Finalize {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Finalize, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize\n */\nexport const UploadAPI_Finalize = new UploadAPI_Finalize$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Finalize_Request$Type extends MessageType<UploadAPI_Finalize_Request> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Finalize.Request\", [\n { no: 1, name: \"resource_id\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 4, name: \"resource_signature\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n { no: 2, name: \"checksum_algorithm\", kind: \"enum\", T: () => [\"MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm\", UploadAPI_ChecksumAlgorithm, \"CHECKSUM_ALGORITHM_\"] },\n { no: 3, name: \"checksum\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_Finalize_Request>): UploadAPI_Finalize_Request {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.resourceId = 0n;\n message.resourceSignature = new Uint8Array(0);\n message.checksumAlgorithm = 0;\n message.checksum = new Uint8Array(0);\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Finalize_Request>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Finalize_Request): UploadAPI_Finalize_Request {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 resource_id */ 1:\n message.resourceId = reader.uint64().toBigInt();\n break;\n case /* bytes resource_signature */ 4:\n message.resourceSignature = reader.bytes();\n break;\n case /* MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm */ 2:\n message.checksumAlgorithm = reader.int32();\n break;\n case /* bytes checksum */ 3:\n message.checksum = reader.bytes();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Finalize_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 resource_id = 1; */\n if (message.resourceId !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.resourceId);\n /* MiLaboratories.Controller.Shared.UploadAPI.ChecksumAlgorithm checksum_algorithm = 2; */\n if (message.checksumAlgorithm !== 0)\n writer.tag(2, WireType.Varint).int32(message.checksumAlgorithm);\n /* bytes checksum = 3; */\n if (message.checksum.length)\n writer.tag(3, WireType.LengthDelimited).bytes(message.checksum);\n /* bytes resource_signature = 4; */\n if (message.resourceSignature.length)\n writer.tag(4, WireType.LengthDelimited).bytes(message.resourceSignature);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize.Request\n */\nexport const UploadAPI_Finalize_Request = new UploadAPI_Finalize_Request$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Finalize_Response$Type extends MessageType<UploadAPI_Finalize_Response> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Finalize.Response\", []);\n }\n create(value?: PartialMessage<UploadAPI_Finalize_Response>): UploadAPI_Finalize_Response {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Finalize_Response>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Finalize_Response): UploadAPI_Finalize_Response {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Finalize_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Finalize.Response\n */\nexport const UploadAPI_Finalize_Response = new UploadAPI_Finalize_Response$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Reset$Type extends MessageType<UploadAPI_Reset> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Reset\", []);\n }\n create(value?: PartialMessage<UploadAPI_Reset>): UploadAPI_Reset {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Reset>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Reset): UploadAPI_Reset {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Reset, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset\n */\nexport const UploadAPI_Reset = new UploadAPI_Reset$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Reset_Request$Type extends MessageType<UploadAPI_Reset_Request> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Reset.Request\", [\n { no: 1, name: \"resource_id\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 2, name: \"resource_signature\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ }\n ]);\n }\n create(value?: PartialMessage<UploadAPI_Reset_Request>): UploadAPI_Reset_Request {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.resourceId = 0n;\n message.resourceSignature = new Uint8Array(0);\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Reset_Request>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Reset_Request): UploadAPI_Reset_Request {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 resource_id */ 1:\n message.resourceId = reader.uint64().toBigInt();\n break;\n case /* bytes resource_signature */ 2:\n message.resourceSignature = reader.bytes();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Reset_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 resource_id = 1; */\n if (message.resourceId !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.resourceId);\n /* bytes resource_signature = 2; */\n if (message.resourceSignature.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset.Request\n */\nexport const UploadAPI_Reset_Request = new UploadAPI_Reset_Request$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadAPI_Reset_Response$Type extends MessageType<UploadAPI_Reset_Response> {\n constructor() {\n super(\"MiLaboratories.Controller.Shared.UploadAPI.Reset.Response\", []);\n }\n create(value?: PartialMessage<UploadAPI_Reset_Response>): UploadAPI_Reset_Response {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<UploadAPI_Reset_Response>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadAPI_Reset_Response): UploadAPI_Reset_Response {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: UploadAPI_Reset_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message MiLaboratories.Controller.Shared.UploadAPI.Reset.Response\n */\nexport const UploadAPI_Reset_Response = new UploadAPI_Reset_Response$Type();\n/**\n * @generated ServiceType for protobuf service MiLaboratories.Controller.Shared.Upload\n */\nexport const Upload = new ServiceType(\"MiLaboratories.Controller.Shared.Upload\", [\n { name: \"Init\", options: { \"google.api.http\": { post: \"/v1/upload/init\", body: \"*\" } }, I: UploadAPI_Init_Request, O: UploadAPI_Init_Response },\n { name: \"GetPartURL\", options: { \"google.api.http\": { post: \"/v1/upload/get-part-url\", body: \"*\" } }, I: UploadAPI_GetPartURL_Request, O: UploadAPI_GetPartURL_Response },\n { name: \"UpdateProgress\", options: { \"google.api.http\": { post: \"/v1/upload/update-progress\", body: \"*\" } }, I: UploadAPI_UpdateProgress_Request, O: UploadAPI_UpdateProgress_Response },\n { name: \"Finalize\", options: { \"google.api.http\": { post: \"/v1/upload/finalize\", body: \"*\" } }, I: UploadAPI_Finalize_Request, O: UploadAPI_Finalize_Response },\n { name: \"Reset\", options: { \"google.api.http\": { post: \"/v1/upload/reset\", body: \"*\" } }, I: UploadAPI_Reset_Request, O: UploadAPI_Reset_Response }\n]);\n"],"mappings":"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"}
@@ -23,11 +23,11 @@ interface paths {
23
23
  }
24
24
  interface components {
25
25
  schemas: {
26
- GetDownloadURL_HTTPHeader: {
26
+ DownloadAPI_GetDownloadURL_HTTPHeader: {
27
27
  name: string;
28
28
  value: string;
29
29
  };
30
- GetDownloadURL_Request: {
30
+ DownloadAPI_GetDownloadURL_Request: {
31
31
  resourceId: string;
32
32
  /**
33
33
  * Format: bytes
@@ -41,9 +41,9 @@ interface components {
41
41
  */
42
42
  isInternalUse: boolean;
43
43
  };
44
- GetDownloadURL_Response: {
44
+ DownloadAPI_GetDownloadURL_Response: {
45
45
  downloadUrl: string;
46
- headers: components["schemas"]["GetDownloadURL_HTTPHeader"][];
46
+ headers: components["schemas"]["DownloadAPI_GetDownloadURL_HTTPHeader"][];
47
47
  }; /** @description Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. */
48
48
  GoogleProtobufAny: {
49
49
  /** @description The type of the serialized message. */"@type": string;
@@ -76,7 +76,7 @@ interface operations {
76
76
  };
77
77
  requestBody: {
78
78
  content: {
79
- "application/json": components["schemas"]["GetDownloadURL_Request"];
79
+ "application/json": components["schemas"]["DownloadAPI_GetDownloadURL_Request"];
80
80
  };
81
81
  };
82
82
  responses: {
@@ -85,7 +85,7 @@ interface operations {
85
85
  [name: string]: unknown;
86
86
  };
87
87
  content: {
88
- "application/json": components["schemas"]["GetDownloadURL_Response"];
88
+ "application/json": components["schemas"]["DownloadAPI_GetDownloadURL_Response"];
89
89
  };
90
90
  }; /** @description Default error response */
91
91
  default: {
@@ -1 +1 @@
1
- {"version":3,"file":"downloadapi.d.ts","names":[],"sources":["../../src/proto-rest/downloadapi.ts"],"mappings":";;AAKA;;;UAAiB,KAAA;EACf,sBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,GAAA;IACA,GAAA;IACA,IAAA,EAAM,UAAA;IACN,MAAA;IACA,OAAA;IACA,IAAA;IACA,KAAA;IACA,KAAA;EAAA;AAAA;AAAA,UAIa,UAAA;EACf,OAAA;IACE,yBAAA;MACE,IAAA;MACA,KAAA;IAAA;IAEF,sBAAA;MACE,UAAA;MAAA;;;;MAKA,iBAAA;MAUA;;;;;MAJA,aAAA;IAAA;IAEF,uBAAA;MACE,WAAA;MACA,OAAA,EAAS,UAAA;IAAA,GAuBb;IApBE,iBAAA;MAsBF,uDApBI,OAAA;IAAA;MAAA,CAEC,GAAA;IAAA,GAsBoB;IAnBvB,MAAA;MA6BwB;;;;MAxBtB,IAAA,UAeJ;MAbI,OAAA,UAeA;MAbA,OAAA,EAAS,UAAA;IAAA;EAAA;EAGb,SAAA;EACA,UAAA;EACA,aAAA;EACA,OAAA;EACA,SAAA;AAAA;AAAA,UAGe,UAAA;EACf,uBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,WAAA;MACE,OAAA;QACE,kBAAA,EAAoB,UAAA;MAAA;IAAA;IAGxB,SAAA;4BAEE,GAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA;MAIxB,OAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"downloadapi.d.ts","names":[],"sources":["../../src/proto-rest/downloadapi.ts"],"mappings":";;AAKA;;;UAAiB,KAAA;EACf,sBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,GAAA;IACA,GAAA;IACA,IAAA,EAAM,UAAA;IACN,MAAA;IACA,OAAA;IACA,IAAA;IACA,KAAA;IACA,KAAA;EAAA;AAAA;AAAA,UAIa,UAAA;EACf,OAAA;IACE,qCAAA;MACE,IAAA;MACA,KAAA;IAAA;IAEF,kCAAA;MACE,UAAA;MAAA;;;;MAKA,iBAAA;MAUA;;;;;MAJA,aAAA;IAAA;IAEF,mCAAA;MACE,WAAA;MACA,OAAA,EAAS,UAAA;IAAA,GAuBb;IApBE,iBAAA;MAsBF,uDApBI,OAAA;IAAA;MAAA,CAEC,GAAA;IAAA,GAsBoB;IAnBvB,MAAA;MA6BwB;;;;MAxBtB,IAAA,UAeJ;MAbI,OAAA,UAeA;MAbA,OAAA,EAAS,UAAA;IAAA;EAAA;EAGb,SAAA;EACA,UAAA;EACA,aAAA;EACA,OAAA;EACA,SAAA;AAAA;AAAA,UAGe,UAAA;EACf,uBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,WAAA;MACE,OAAA;QACE,kBAAA,EAAoB,UAAA;MAAA;IAAA;IAGxB,SAAA;4BAEE,GAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA;MAIxB,OAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -39,17 +39,25 @@ interface paths {
39
39
  }
40
40
  interface components {
41
41
  schemas: {
42
- GetStatus_Request: {
42
+ /** @description Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. */GoogleProtobufAny: {
43
+ /** @description The type of the serialized message. */"@type": string;
44
+ } & {
45
+ [key: string]: unknown;
46
+ };
47
+ ProgressAPI_GetStatus_Request: {
43
48
  resourceId: string; /** Format: bytes */
44
49
  resourceSignature: string;
45
50
  };
46
- GetStatus_Response: {
51
+ ProgressAPI_GetStatus_Response: {
52
+ report: components["schemas"]["ProgressAPI_Report"];
53
+ };
54
+ ProgressAPI_RealtimeStatus_Request: {
55
+ resourceId: string; /** Format: bytes */
56
+ resourceSignature: string;
57
+ updateInterval: string;
58
+ };
59
+ ProgressAPI_RealtimeStatus_Response: {
47
60
  report: components["schemas"]["ProgressAPI_Report"];
48
- }; /** @description Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. */
49
- GoogleProtobufAny: {
50
- /** @description The type of the serialized message. */"@type": string;
51
- } & {
52
- [key: string]: unknown;
53
61
  };
54
62
  ProgressAPI_Report: {
55
63
  /** Format: float */progress: number;
@@ -57,14 +65,6 @@ interface components {
57
65
  bytesTotal: string;
58
66
  done: boolean; /** @description Name of current progress stage (if any) */
59
67
  name: string;
60
- };
61
- RealtimeStatus_Request: {
62
- resourceId: string; /** Format: bytes */
63
- resourceSignature: string;
64
- updateInterval: string;
65
- };
66
- RealtimeStatus_Response: {
67
- report: components["schemas"]["ProgressAPI_Report"];
68
68
  }; /** @description The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */
69
69
  Status: {
70
70
  /**
@@ -92,7 +92,7 @@ interface operations {
92
92
  };
93
93
  requestBody: {
94
94
  content: {
95
- "application/json": components["schemas"]["GetStatus_Request"];
95
+ "application/json": components["schemas"]["ProgressAPI_GetStatus_Request"];
96
96
  };
97
97
  };
98
98
  responses: {
@@ -101,7 +101,7 @@ interface operations {
101
101
  [name: string]: unknown;
102
102
  };
103
103
  content: {
104
- "application/json": components["schemas"]["GetStatus_Response"];
104
+ "application/json": components["schemas"]["ProgressAPI_GetStatus_Response"];
105
105
  };
106
106
  }; /** @description Default error response */
107
107
  default: {
@@ -123,7 +123,7 @@ interface operations {
123
123
  };
124
124
  requestBody: {
125
125
  content: {
126
- "application/json": components["schemas"]["RealtimeStatus_Request"];
126
+ "application/json": components["schemas"]["ProgressAPI_RealtimeStatus_Request"];
127
127
  };
128
128
  };
129
129
  responses: {
@@ -132,7 +132,7 @@ interface operations {
132
132
  [name: string]: unknown;
133
133
  };
134
134
  content: {
135
- "application/json": components["schemas"]["RealtimeStatus_Response"];
135
+ "application/json": components["schemas"]["ProgressAPI_RealtimeStatus_Response"];
136
136
  };
137
137
  }; /** @description Default error response */
138
138
  default: {
@@ -1 +1 @@
1
- {"version":3,"file":"progressapi.d.ts","names":[],"sources":["../../src/proto-rest/progressapi.ts"],"mappings":";;AAKA;;;UAAiB,KAAA;EACf,kBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,GAAA;IACA,GAAA;IACA,IAAA,EAAM,UAAA;IACN,MAAA;IACA,OAAA;IACA,IAAA;IACA,KAAA;IACA,KAAA;EAAA;EAEF,uBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,GAAA;IACA,GAAA;IACA,IAAA,EAAM,UAAA;IACN,MAAA;IACA,OAAA;IACA,IAAA;IACA,KAAA;IACA,KAAA;EAAA;AAAA;AAAA,UAIa,UAAA;EACf,OAAA;IACE,iBAAA;MACE,UAAA,UA0CmB;MAxCnB,iBAAA;IAAA;IAEF,kBAAA;MACE,MAAA,EAAQ,UAAA;IAAA,GADV;IAIA,iBAAA;MAHU,uDAKR,OAAA;IAAA;MAAA,CAEC,GAAA;IAAA;IAEH,kBAAA;MAGE,oBADA,QAAA;MACA,cAAA;MACA,UAAA;MACA,IAAA,WAKA;MAHA,IAAA;IAAA;IAEF,sBAAA;MACE,UAAA,UAMQ;MAJR,iBAAA;MACA,cAAA;IAAA;IAEF,uBAAA;MACE,MAAA,EAAQ,UAAA;IAAA,GAgBZ;IAbE,MAAA;MAeF;;;;MAVI,IAAA,UAcqB;MAZrB,OAAA,UAsBsB;MApBtB,OAAA,EAAS,UAAA;IAAA;EAAA;EAGb,SAAA;EACA,UAAA;EACA,aAAA;EACA,OAAA;EACA,SAAA;AAAA;AAAA,UAGe,UAAA;EACf,kBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,WAAA;MACE,OAAA;QACE,kBAAA,EAAoB,UAAA;MAAA;IAAA;IAGxB,SAAA;MAWE,sBATA,GAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA,GAiBxB;MAbA,OAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA;IAAA;EAAA;EAK5B,uBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,WAAA;MACE,OAAA;QACE,kBAAA,EAAoB,UAAA;MAAA;IAAA;IAGxB,SAAA;4BAEE,GAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA;MAIxB,OAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"progressapi.d.ts","names":[],"sources":["../../src/proto-rest/progressapi.ts"],"mappings":";;AAKA;;;UAAiB,KAAA;EACf,kBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,GAAA;IACA,GAAA;IACA,IAAA,EAAM,UAAA;IACN,MAAA;IACA,OAAA;IACA,IAAA;IACA,KAAA;IACA,KAAA;EAAA;EAEF,uBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,GAAA;IACA,GAAA;IACA,IAAA,EAAM,UAAA;IACN,MAAA;IACA,OAAA;IACA,IAAA;IACA,KAAA;IACA,KAAA;EAAA;AAAA;AAAA,UAIa,UAAA;EACf,OAAA;IAuBY,kIArBV,iBAAA;MA0CqB,uDAxCnB,OAAA;IAAA;MAAA,CAEC,GAAA;IAAA;IAEH,6BAAA;MACE,UAAA,UAAA;MAEA,iBAAA;IAAA;IAEF,8BAAA;MACE,MAAA,EAAQ,UAAA;IAAA;IAEV,kCAAA;MACE,UAAA,UAGA;MADA,iBAAA;MACA,cAAA;IAAA;IAEF,mCAAA;MACE,MAAA,EAAQ,UAAA;IAAA;IAEV,kBAAA;MAKE,oBAHA,QAAA;MACA,cAAA;MACA,UAAA;MACA,IAAA,WAcA;MAZA,IAAA;IAAA,GAgBJ;IAbE,MAAA;MAeF;;;;MAVI,IAAA,UAcqB;MAZrB,OAAA,UAsBsB;MApBtB,OAAA,EAAS,UAAA;IAAA;EAAA;EAGb,SAAA;EACA,UAAA;EACA,aAAA;EACA,OAAA;EACA,SAAA;AAAA;AAAA,UAGe,UAAA;EACf,kBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,WAAA;MACE,OAAA;QACE,kBAAA,EAAoB,UAAA;MAAA;IAAA;IAGxB,SAAA;MAWE,sBATA,GAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA,GAiBxB;MAbA,OAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA;IAAA;EAAA;EAK5B,uBAAA;IACE,UAAA;MACE,KAAA;MACA,MAAA;MACA,IAAA;MACA,MAAA;IAAA;IAEF,WAAA;MACE,OAAA;QACE,kBAAA,EAAoB,UAAA;MAAA;IAAA;IAGxB,SAAA;4BAEE,GAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA;MAIxB,OAAA;QACE,OAAA;UAAA,CACG,IAAA;QAAA;QAEH,OAAA;UACE,kBAAA,EAAoB,UAAA;QAAA;MAAA;IAAA;EAAA;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/pl-drivers",
3
- "version": "1.13.0",
3
+ "version": "1.14.0",
4
4
  "description": "Drivers and a low-level clients for log streaming, downloading and uploading files from and to pl",
5
5
  "files": [
6
6
  "dist/**/*",
@@ -30,10 +30,10 @@
30
30
  "zod": "~3.25.76",
31
31
  "@milaboratories/computable": "2.9.3",
32
32
  "@milaboratories/helpers": "1.14.1",
33
- "@milaboratories/pl-model-common": "1.38.0",
33
+ "@milaboratories/pl-model-common": "1.40.0",
34
+ "@milaboratories/pl-client": "3.3.0",
34
35
  "@milaboratories/ts-helpers": "1.8.1",
35
- "@milaboratories/pl-tree": "1.9.22",
36
- "@milaboratories/pl-client": "3.2.4"
36
+ "@milaboratories/pl-tree": "1.10.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/decompress": "^4.2.7",
@@ -43,9 +43,9 @@
43
43
  "openapi-typescript": "^7.10.0",
44
44
  "typescript": "~5.9.3",
45
45
  "vitest": "^4.1.3",
46
- "@milaboratories/ts-builder": "1.3.2",
47
46
  "@milaboratories/build-configs": "2.0.0",
48
47
  "@milaboratories/test-helpers": "1.2.1",
48
+ "@milaboratories/ts-builder": "1.4.0",
49
49
  "@milaboratories/ts-configs": "1.2.3"
50
50
  },
51
51
  "engines": {
@@ -5,6 +5,8 @@ import {
5
5
  stringifyWithResourceId,
6
6
  RestAPI,
7
7
  createRTypeRoutingHeader,
8
+ parseSignedResourceId,
9
+ signatureToBase64Url,
8
10
  } from "@milaboratories/pl-client";
9
11
  import type { ResourceInfo } from "@milaboratories/pl-tree";
10
12
  import { PerfTimer } from "@milaboratories/helpers";
@@ -136,18 +138,19 @@ export class ClientDownload {
136
138
  const withAbort = options ?? {};
137
139
  withAbort.abort = signal;
138
140
 
141
+ const { globalId, signature } = parseSignedResourceId(id);
139
142
  const client = this.wire.get();
140
143
  if (client instanceof DownloadClient) {
141
144
  return await client.getDownloadURL(
142
- { resourceId: id, isInternalUse: false },
145
+ { resourceId: globalId, resourceSignature: signature, isInternalUse: false },
143
146
  addRTypeToMetadata(type, withAbort),
144
147
  ).response;
145
148
  } else {
146
149
  return (
147
150
  await client.POST("/v1/get-download-url", {
148
151
  body: {
149
- resourceId: id.toString(),
150
- resourceSignature: "",
152
+ resourceId: globalId.toString(),
153
+ resourceSignature: signatureToBase64Url(signature),
151
154
  isInternalUse: false,
152
155
  },
153
156
  headers: { ...createRTypeRoutingHeader(type) },