@xeonr/upload-pool-sdk 1.0.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 (402) hide show
  1. package/README.md +83 -0
  2. package/dist/errors.d.ts +14 -0
  3. package/dist/errors.d.ts.map +1 -0
  4. package/dist/errors.js +15 -0
  5. package/dist/errors.js.map +1 -0
  6. package/dist/index.d.ts +27 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +27 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/job-context.d.ts +18 -0
  11. package/dist/job-context.d.ts.map +1 -0
  12. package/dist/job-context.js +176 -0
  13. package/dist/job-context.js.map +1 -0
  14. package/dist/pool.d.ts +16 -0
  15. package/dist/pool.d.ts.map +1 -0
  16. package/dist/pool.js +111 -0
  17. package/dist/pool.js.map +1 -0
  18. package/dist/protocol/buf/validate/expression_pb.d.ts +128 -0
  19. package/dist/protocol/buf/validate/expression_pb.d.ts.map +1 -0
  20. package/dist/protocol/buf/validate/expression_pb.js +34 -0
  21. package/dist/protocol/buf/validate/expression_pb.js.map +1 -0
  22. package/dist/protocol/buf/validate/priv/private_pb.d.ts +54 -0
  23. package/dist/protocol/buf/validate/priv/private_pb.d.ts.map +1 -0
  24. package/dist/protocol/buf/validate/priv/private_pb.js +36 -0
  25. package/dist/protocol/buf/validate/priv/private_pb.js.map +1 -0
  26. package/dist/protocol/buf/validate/validate_pb.d.ts +3685 -0
  27. package/dist/protocol/buf/validate/validate_pb.d.ts.map +1 -0
  28. package/dist/protocol/buf/validate/validate_pb.js +223 -0
  29. package/dist/protocol/buf/validate/validate_pb.js.map +1 -0
  30. package/dist/protocol/gnostic/discovery/v1/discovery_pb.d.ts +816 -0
  31. package/dist/protocol/gnostic/discovery/v1/discovery_pb.d.ts.map +1 -0
  32. package/dist/protocol/gnostic/discovery/v1/discovery_pb.js +160 -0
  33. package/dist/protocol/gnostic/discovery/v1/discovery_pb.js.map +1 -0
  34. package/dist/protocol/gnostic/openapi/v2/openapiv2_pb.d.ts +2229 -0
  35. package/dist/protocol/gnostic/openapi/v2/openapiv2_pb.d.ts.map +1 -0
  36. package/dist/protocol/gnostic/openapi/v2/openapiv2_pb.js +320 -0
  37. package/dist/protocol/gnostic/openapi/v2/openapiv2_pb.js.map +1 -0
  38. package/dist/protocol/gnostic/openapi/v3/annotations_pb.d.ts +24 -0
  39. package/dist/protocol/gnostic/openapi/v3/annotations_pb.d.ts.map +1 -0
  40. package/dist/protocol/gnostic/openapi/v3/annotations_pb.js +37 -0
  41. package/dist/protocol/gnostic/openapi/v3/annotations_pb.js.map +1 -0
  42. package/dist/protocol/gnostic/openapi/v3/openapiv3_pb.d.ts +2245 -0
  43. package/dist/protocol/gnostic/openapi/v3/openapiv3_pb.d.ts.map +1 -0
  44. package/dist/protocol/gnostic/openapi/v3/openapiv3_pb.js +410 -0
  45. package/dist/protocol/gnostic/openapi/v3/openapiv3_pb.js.map +1 -0
  46. package/dist/protocol/google/api/annotations_pb.d.ts +14 -0
  47. package/dist/protocol/google/api/annotations_pb.d.ts.map +1 -0
  48. package/dist/protocol/google/api/annotations_pb.js +27 -0
  49. package/dist/protocol/google/api/annotations_pb.js.map +1 -0
  50. package/dist/protocol/google/api/client_pb.d.ts +1034 -0
  51. package/dist/protocol/google/api/client_pb.d.ts.map +1 -0
  52. package/dist/protocol/google/api/client_pb.js +338 -0
  53. package/dist/protocol/google/api/client_pb.js.map +1 -0
  54. package/dist/protocol/google/api/expr/v1alpha1/checked_pb.d.ts +672 -0
  55. package/dist/protocol/google/api/expr/v1alpha1/checked_pb.d.ts.map +1 -0
  56. package/dist/protocol/google/api/expr/v1alpha1/checked_pb.js +176 -0
  57. package/dist/protocol/google/api/expr/v1alpha1/checked_pb.js.map +1 -0
  58. package/dist/protocol/google/api/expr/v1alpha1/eval_pb.d.ts +185 -0
  59. package/dist/protocol/google/api/expr/v1alpha1/eval_pb.d.ts.map +1 -0
  60. package/dist/protocol/google/api/expr/v1alpha1/eval_pb.js +46 -0
  61. package/dist/protocol/google/api/expr/v1alpha1/eval_pb.js.map +1 -0
  62. package/dist/protocol/google/api/expr/v1alpha1/explain_pb.d.ts +68 -0
  63. package/dist/protocol/google/api/expr/v1alpha1/explain_pb.d.ts.map +1 -0
  64. package/dist/protocol/google/api/expr/v1alpha1/explain_pb.js +32 -0
  65. package/dist/protocol/google/api/expr/v1alpha1/explain_pb.js.map +1 -0
  66. package/dist/protocol/google/api/expr/v1alpha1/syntax_pb.d.ts +796 -0
  67. package/dist/protocol/google/api/expr/v1alpha1/syntax_pb.d.ts.map +1 -0
  68. package/dist/protocol/google/api/expr/v1alpha1/syntax_pb.js +128 -0
  69. package/dist/protocol/google/api/expr/v1alpha1/syntax_pb.js.map +1 -0
  70. package/dist/protocol/google/api/expr/v1alpha1/value_pb.d.ts +224 -0
  71. package/dist/protocol/google/api/expr/v1alpha1/value_pb.d.ts.map +1 -0
  72. package/dist/protocol/google/api/expr/v1alpha1/value_pb.js +45 -0
  73. package/dist/protocol/google/api/expr/v1alpha1/value_pb.js.map +1 -0
  74. package/dist/protocol/google/api/expr/v1beta1/decl_pb.d.ts +151 -0
  75. package/dist/protocol/google/api/expr/v1beta1/decl_pb.d.ts.map +1 -0
  76. package/dist/protocol/google/api/expr/v1beta1/decl_pb.js +41 -0
  77. package/dist/protocol/google/api/expr/v1beta1/decl_pb.js.map +1 -0
  78. package/dist/protocol/google/api/expr/v1beta1/eval_pb.d.ts +203 -0
  79. package/dist/protocol/google/api/expr/v1beta1/eval_pb.d.ts.map +1 -0
  80. package/dist/protocol/google/api/expr/v1beta1/eval_pb.js +52 -0
  81. package/dist/protocol/google/api/expr/v1beta1/eval_pb.js.map +1 -0
  82. package/dist/protocol/google/api/expr/v1beta1/expr_pb.d.ts +504 -0
  83. package/dist/protocol/google/api/expr/v1beta1/expr_pb.d.ts.map +1 -0
  84. package/dist/protocol/google/api/expr/v1beta1/expr_pb.js +72 -0
  85. package/dist/protocol/google/api/expr/v1beta1/expr_pb.js.map +1 -0
  86. package/dist/protocol/google/api/expr/v1beta1/source_pb.d.ts +86 -0
  87. package/dist/protocol/google/api/expr/v1beta1/source_pb.d.ts.map +1 -0
  88. package/dist/protocol/google/api/expr/v1beta1/source_pb.js +30 -0
  89. package/dist/protocol/google/api/expr/v1beta1/source_pb.js.map +1 -0
  90. package/dist/protocol/google/api/expr/v1beta1/value_pb.d.ts +224 -0
  91. package/dist/protocol/google/api/expr/v1beta1/value_pb.d.ts.map +1 -0
  92. package/dist/protocol/google/api/expr/v1beta1/value_pb.js +46 -0
  93. package/dist/protocol/google/api/expr/v1beta1/value_pb.js.map +1 -0
  94. package/dist/protocol/google/api/field_behavior_pb.d.ts +122 -0
  95. package/dist/protocol/google/api/field_behavior_pb.d.ts.map +1 -0
  96. package/dist/protocol/google/api/field_behavior_pb.js +136 -0
  97. package/dist/protocol/google/api/field_behavior_pb.js.map +1 -0
  98. package/dist/protocol/google/api/field_info_pb.d.ts +140 -0
  99. package/dist/protocol/google/api/field_info_pb.d.ts.map +1 -0
  100. package/dist/protocol/google/api/field_info_pb.js +108 -0
  101. package/dist/protocol/google/api/field_info_pb.js.map +1 -0
  102. package/dist/protocol/google/api/http_pb.d.ts +441 -0
  103. package/dist/protocol/google/api/http_pb.d.ts.map +1 -0
  104. package/dist/protocol/google/api/http_pb.js +34 -0
  105. package/dist/protocol/google/api/http_pb.js.map +1 -0
  106. package/dist/protocol/google/api/httpbody_pb.d.ts +81 -0
  107. package/dist/protocol/google/api/httpbody_pb.d.ts.map +1 -0
  108. package/dist/protocol/google/api/httpbody_pb.js +25 -0
  109. package/dist/protocol/google/api/httpbody_pb.js.map +1 -0
  110. package/dist/protocol/google/api/launch_stage_pb.d.ts +87 -0
  111. package/dist/protocol/google/api/launch_stage_pb.d.ts.map +1 -0
  112. package/dist/protocol/google/api/launch_stage_pb.js +101 -0
  113. package/dist/protocol/google/api/launch_stage_pb.js.map +1 -0
  114. package/dist/protocol/google/api/resource_pb.d.ts +304 -0
  115. package/dist/protocol/google/api/resource_pb.d.ts.map +1 -0
  116. package/dist/protocol/google/api/resource_pb.js +116 -0
  117. package/dist/protocol/google/api/resource_pb.js.map +1 -0
  118. package/dist/protocol/google/api/routing_pb.d.ts +476 -0
  119. package/dist/protocol/google/api/routing_pb.d.ts.map +1 -0
  120. package/dist/protocol/google/api/routing_pb.js +36 -0
  121. package/dist/protocol/google/api/routing_pb.js.map +1 -0
  122. package/dist/protocol/google/api/visibility_pb.d.ts +128 -0
  123. package/dist/protocol/google/api/visibility_pb.d.ts.map +1 -0
  124. package/dist/protocol/google/api/visibility_pb.js +66 -0
  125. package/dist/protocol/google/api/visibility_pb.js.map +1 -0
  126. package/dist/protocol/google/bytestream/bytestream_pb.d.ts +278 -0
  127. package/dist/protocol/google/bytestream/bytestream_pb.d.ts.map +1 -0
  128. package/dist/protocol/google/bytestream/bytestream_pb.js +77 -0
  129. package/dist/protocol/google/bytestream/bytestream_pb.js.map +1 -0
  130. package/dist/protocol/google/geo/type/viewport_pb.d.ts +66 -0
  131. package/dist/protocol/google/geo/type/viewport_pb.d.ts.map +1 -0
  132. package/dist/protocol/google/geo/type/viewport_pb.js +26 -0
  133. package/dist/protocol/google/geo/type/viewport_pb.js.map +1 -0
  134. package/dist/protocol/google/iam/v1/iam_policy_pb.d.ts +193 -0
  135. package/dist/protocol/google/iam/v1/iam_policy_pb.d.ts.map +1 -0
  136. package/dist/protocol/google/iam/v1/iam_policy_pb.js +76 -0
  137. package/dist/protocol/google/iam/v1/iam_policy_pb.js.map +1 -0
  138. package/dist/protocol/google/iam/v1/options_pb.d.ts +42 -0
  139. package/dist/protocol/google/iam/v1/options_pb.d.ts.map +1 -0
  140. package/dist/protocol/google/iam/v1/options_pb.js +24 -0
  141. package/dist/protocol/google/iam/v1/options_pb.js.map +1 -0
  142. package/dist/protocol/google/iam/v1/policy_pb.d.ts +571 -0
  143. package/dist/protocol/google/iam/v1/policy_pb.d.ts.map +1 -0
  144. package/dist/protocol/google/iam/v1/policy_pb.js +152 -0
  145. package/dist/protocol/google/iam/v1/policy_pb.js.map +1 -0
  146. package/dist/protocol/google/longrunning/operations_pb.d.ts +398 -0
  147. package/dist/protocol/google/longrunning/operations_pb.d.ts.map +1 -0
  148. package/dist/protocol/google/longrunning/operations_pb.js +89 -0
  149. package/dist/protocol/google/longrunning/operations_pb.js.map +1 -0
  150. package/dist/protocol/google/rpc/code_pb.d.ts +228 -0
  151. package/dist/protocol/google/rpc/code_pb.d.ts.map +1 -0
  152. package/dist/protocol/google/rpc/code_pb.js +242 -0
  153. package/dist/protocol/google/rpc/code_pb.js.map +1 -0
  154. package/dist/protocol/google/rpc/context/attribute_context_pb.d.ts +560 -0
  155. package/dist/protocol/google/rpc/context/attribute_context_pb.d.ts.map +1 -0
  156. package/dist/protocol/google/rpc/context/attribute_context_pb.js +55 -0
  157. package/dist/protocol/google/rpc/context/attribute_context_pb.js.map +1 -0
  158. package/dist/protocol/google/rpc/error_details_pb.d.ts +581 -0
  159. package/dist/protocol/google/rpc/error_details_pb.d.ts.map +1 -0
  160. package/dist/protocol/google/rpc/error_details_pb.js +90 -0
  161. package/dist/protocol/google/rpc/error_details_pb.js.map +1 -0
  162. package/dist/protocol/google/rpc/status_pb.d.ts +49 -0
  163. package/dist/protocol/google/rpc/status_pb.d.ts.map +1 -0
  164. package/dist/protocol/google/rpc/status_pb.js +25 -0
  165. package/dist/protocol/google/rpc/status_pb.js.map +1 -0
  166. package/dist/protocol/google/type/calendar_period_pb.d.ts +71 -0
  167. package/dist/protocol/google/type/calendar_period_pb.d.ts.map +1 -0
  168. package/dist/protocol/google/type/calendar_period_pb.js +85 -0
  169. package/dist/protocol/google/type/calendar_period_pb.js.map +1 -0
  170. package/dist/protocol/google/type/color_pb.d.ts +176 -0
  171. package/dist/protocol/google/type/color_pb.d.ts.map +1 -0
  172. package/dist/protocol/google/type/color_pb.js +25 -0
  173. package/dist/protocol/google/type/color_pb.js.map +1 -0
  174. package/dist/protocol/google/type/date_pb.d.ts +56 -0
  175. package/dist/protocol/google/type/date_pb.d.ts.map +1 -0
  176. package/dist/protocol/google/type/date_pb.js +24 -0
  177. package/dist/protocol/google/type/date_pb.js.map +1 -0
  178. package/dist/protocol/google/type/datetime_pb.d.ts +148 -0
  179. package/dist/protocol/google/type/datetime_pb.d.ts.map +1 -0
  180. package/dist/protocol/google/type/datetime_pb.js +30 -0
  181. package/dist/protocol/google/type/datetime_pb.js.map +1 -0
  182. package/dist/protocol/google/type/dayofweek_pb.d.ts +65 -0
  183. package/dist/protocol/google/type/dayofweek_pb.d.ts.map +1 -0
  184. package/dist/protocol/google/type/dayofweek_pb.js +79 -0
  185. package/dist/protocol/google/type/dayofweek_pb.js.map +1 -0
  186. package/dist/protocol/google/type/decimal_pb.d.ts +89 -0
  187. package/dist/protocol/google/type/decimal_pb.d.ts.map +1 -0
  188. package/dist/protocol/google/type/decimal_pb.js +24 -0
  189. package/dist/protocol/google/type/decimal_pb.js.map +1 -0
  190. package/dist/protocol/google/type/expr_pb.d.ts +78 -0
  191. package/dist/protocol/google/type/expr_pb.d.ts.map +1 -0
  192. package/dist/protocol/google/type/expr_pb.js +24 -0
  193. package/dist/protocol/google/type/expr_pb.js.map +1 -0
  194. package/dist/protocol/google/type/fraction_pb.d.ts +32 -0
  195. package/dist/protocol/google/type/fraction_pb.d.ts.map +1 -0
  196. package/dist/protocol/google/type/fraction_pb.js +24 -0
  197. package/dist/protocol/google/type/fraction_pb.js.map +1 -0
  198. package/dist/protocol/google/type/interval_pb.d.ts +43 -0
  199. package/dist/protocol/google/type/interval_pb.d.ts.map +1 -0
  200. package/dist/protocol/google/type/interval_pb.js +25 -0
  201. package/dist/protocol/google/type/interval_pb.js.map +1 -0
  202. package/dist/protocol/google/type/latlng_pb.d.ts +35 -0
  203. package/dist/protocol/google/type/latlng_pb.d.ts.map +1 -0
  204. package/dist/protocol/google/type/latlng_pb.js +24 -0
  205. package/dist/protocol/google/type/latlng_pb.js.map +1 -0
  206. package/dist/protocol/google/type/localized_text_pb.d.ts +35 -0
  207. package/dist/protocol/google/type/localized_text_pb.d.ts.map +1 -0
  208. package/dist/protocol/google/type/localized_text_pb.js +24 -0
  209. package/dist/protocol/google/type/localized_text_pb.js.map +1 -0
  210. package/dist/protocol/google/type/money_pb.d.ts +43 -0
  211. package/dist/protocol/google/type/money_pb.d.ts.map +1 -0
  212. package/dist/protocol/google/type/money_pb.js +24 -0
  213. package/dist/protocol/google/type/money_pb.js.map +1 -0
  214. package/dist/protocol/google/type/month_pb.d.ts +95 -0
  215. package/dist/protocol/google/type/month_pb.d.ts.map +1 -0
  216. package/dist/protocol/google/type/month_pb.js +109 -0
  217. package/dist/protocol/google/type/month_pb.js.map +1 -0
  218. package/dist/protocol/google/type/phone_number_pb.d.ts +145 -0
  219. package/dist/protocol/google/type/phone_number_pb.d.ts.map +1 -0
  220. package/dist/protocol/google/type/phone_number_pb.js +29 -0
  221. package/dist/protocol/google/type/phone_number_pb.js.map +1 -0
  222. package/dist/protocol/google/type/postal_address_pb.d.ts +160 -0
  223. package/dist/protocol/google/type/postal_address_pb.d.ts.map +1 -0
  224. package/dist/protocol/google/type/postal_address_pb.js +24 -0
  225. package/dist/protocol/google/type/postal_address_pb.js.map +1 -0
  226. package/dist/protocol/google/type/quaternion_pb.d.ts +99 -0
  227. package/dist/protocol/google/type/quaternion_pb.d.ts.map +1 -0
  228. package/dist/protocol/google/type/quaternion_pb.js +24 -0
  229. package/dist/protocol/google/type/quaternion_pb.js.map +1 -0
  230. package/dist/protocol/google/type/timeofday_pb.d.ts +52 -0
  231. package/dist/protocol/google/type/timeofday_pb.d.ts.map +1 -0
  232. package/dist/protocol/google/type/timeofday_pb.js +24 -0
  233. package/dist/protocol/google/type/timeofday_pb.js.map +1 -0
  234. package/dist/protocol/uplim/api/v1/account_pb.d.ts +144 -0
  235. package/dist/protocol/uplim/api/v1/account_pb.d.ts.map +1 -0
  236. package/dist/protocol/uplim/api/v1/account_pb.js +100 -0
  237. package/dist/protocol/uplim/api/v1/account_pb.js.map +1 -0
  238. package/dist/protocol/uplim/api/v1/auth_pb.d.ts +231 -0
  239. package/dist/protocol/uplim/api/v1/auth_pb.d.ts.map +1 -0
  240. package/dist/protocol/uplim/api/v1/auth_pb.js +65 -0
  241. package/dist/protocol/uplim/api/v1/auth_pb.js.map +1 -0
  242. package/dist/protocol/uplim/api/v1/buckets_pb.d.ts +1920 -0
  243. package/dist/protocol/uplim/api/v1/buckets_pb.d.ts.map +1 -0
  244. package/dist/protocol/uplim/api/v1/buckets_pb.js +471 -0
  245. package/dist/protocol/uplim/api/v1/buckets_pb.js.map +1 -0
  246. package/dist/protocol/uplim/api/v1/content_type_matcher_pb.d.ts +398 -0
  247. package/dist/protocol/uplim/api/v1/content_type_matcher_pb.d.ts.map +1 -0
  248. package/dist/protocol/uplim/api/v1/content_type_matcher_pb.js +79 -0
  249. package/dist/protocol/uplim/api/v1/content_type_matcher_pb.js.map +1 -0
  250. package/dist/protocol/uplim/api/v1/events_pb.d.ts +767 -0
  251. package/dist/protocol/uplim/api/v1/events_pb.d.ts.map +1 -0
  252. package/dist/protocol/uplim/api/v1/events_pb.js +242 -0
  253. package/dist/protocol/uplim/api/v1/events_pb.js.map +1 -0
  254. package/dist/protocol/uplim/api/v1/integration_admin_pb.d.ts +1059 -0
  255. package/dist/protocol/uplim/api/v1/integration_admin_pb.d.ts.map +1 -0
  256. package/dist/protocol/uplim/api/v1/integration_admin_pb.js +209 -0
  257. package/dist/protocol/uplim/api/v1/integration_admin_pb.js.map +1 -0
  258. package/dist/protocol/uplim/api/v1/integration_install_pb.d.ts +313 -0
  259. package/dist/protocol/uplim/api/v1/integration_install_pb.d.ts.map +1 -0
  260. package/dist/protocol/uplim/api/v1/integration_install_pb.js +129 -0
  261. package/dist/protocol/uplim/api/v1/integration_install_pb.js.map +1 -0
  262. package/dist/protocol/uplim/api/v1/integration_types_pb.d.ts +767 -0
  263. package/dist/protocol/uplim/api/v1/integration_types_pb.d.ts.map +1 -0
  264. package/dist/protocol/uplim/api/v1/integration_types_pb.js +221 -0
  265. package/dist/protocol/uplim/api/v1/integration_types_pb.js.map +1 -0
  266. package/dist/protocol/uplim/api/v1/integrations_pb.d.ts +807 -0
  267. package/dist/protocol/uplim/api/v1/integrations_pb.d.ts.map +1 -0
  268. package/dist/protocol/uplim/api/v1/integrations_pb.js +169 -0
  269. package/dist/protocol/uplim/api/v1/integrations_pb.js.map +1 -0
  270. package/dist/protocol/uplim/api/v1/internal_pb.d.ts +204 -0
  271. package/dist/protocol/uplim/api/v1/internal_pb.d.ts.map +1 -0
  272. package/dist/protocol/uplim/api/v1/internal_pb.js +118 -0
  273. package/dist/protocol/uplim/api/v1/internal_pb.js.map +1 -0
  274. package/dist/protocol/uplim/api/v1/metadata_pb.d.ts +265 -0
  275. package/dist/protocol/uplim/api/v1/metadata_pb.d.ts.map +1 -0
  276. package/dist/protocol/uplim/api/v1/metadata_pb.js +50 -0
  277. package/dist/protocol/uplim/api/v1/metadata_pb.js.map +1 -0
  278. package/dist/protocol/uplim/api/v1/public-buckets_pb.d.ts +64 -0
  279. package/dist/protocol/uplim/api/v1/public-buckets_pb.d.ts.map +1 -0
  280. package/dist/protocol/uplim/api/v1/public-buckets_pb.js +28 -0
  281. package/dist/protocol/uplim/api/v1/public-buckets_pb.js.map +1 -0
  282. package/dist/protocol/uplim/api/v1/public-uploads_pb.d.ts +461 -0
  283. package/dist/protocol/uplim/api/v1/public-uploads_pb.d.ts.map +1 -0
  284. package/dist/protocol/uplim/api/v1/public-uploads_pb.js +139 -0
  285. package/dist/protocol/uplim/api/v1/public-uploads_pb.js.map +1 -0
  286. package/dist/protocol/uplim/api/v1/upload-aliases_pb.d.ts +396 -0
  287. package/dist/protocol/uplim/api/v1/upload-aliases_pb.d.ts.map +1 -0
  288. package/dist/protocol/uplim/api/v1/upload-aliases_pb.js +69 -0
  289. package/dist/protocol/uplim/api/v1/upload-aliases_pb.js.map +1 -0
  290. package/dist/protocol/uplim/api/v1/uploads_pb.d.ts +3736 -0
  291. package/dist/protocol/uplim/api/v1/uploads_pb.d.ts.map +1 -0
  292. package/dist/protocol/uplim/api/v1/uploads_pb.js +732 -0
  293. package/dist/protocol/uplim/api/v1/uploads_pb.js.map +1 -0
  294. package/dist/protocol/uplim/workflow/v1/activities_pb.d.ts +394 -0
  295. package/dist/protocol/uplim/workflow/v1/activities_pb.d.ts.map +1 -0
  296. package/dist/protocol/uplim/workflow/v1/activities_pb.js +122 -0
  297. package/dist/protocol/uplim/workflow/v1/activities_pb.js.map +1 -0
  298. package/dist/protocol/uplim/workflow/v1/integration_queue_admin_pb.d.ts +486 -0
  299. package/dist/protocol/uplim/workflow/v1/integration_queue_admin_pb.d.ts.map +1 -0
  300. package/dist/protocol/uplim/workflow/v1/integration_queue_admin_pb.js +158 -0
  301. package/dist/protocol/uplim/workflow/v1/integration_queue_admin_pb.js.map +1 -0
  302. package/dist/protocol/uplim/workflow/v1/integration_queue_pb.d.ts +289 -0
  303. package/dist/protocol/uplim/workflow/v1/integration_queue_pb.d.ts.map +1 -0
  304. package/dist/protocol/uplim/workflow/v1/integration_queue_pb.js +66 -0
  305. package/dist/protocol/uplim/workflow/v1/integration_queue_pb.js.map +1 -0
  306. package/dist/protocol/uplim/workflow/v1/workflows_pb.d.ts +602 -0
  307. package/dist/protocol/uplim/workflow/v1/workflows_pb.d.ts.map +1 -0
  308. package/dist/protocol/uplim/workflow/v1/workflows_pb.js +194 -0
  309. package/dist/protocol/uplim/workflow/v1/workflows_pb.js.map +1 -0
  310. package/dist/rpc-clients.d.ts +9 -0
  311. package/dist/rpc-clients.d.ts.map +1 -0
  312. package/dist/rpc-clients.js +24 -0
  313. package/dist/rpc-clients.js.map +1 -0
  314. package/dist/sse-client.d.ts +20 -0
  315. package/dist/sse-client.d.ts.map +1 -0
  316. package/dist/sse-client.js +68 -0
  317. package/dist/sse-client.js.map +1 -0
  318. package/dist/types.d.ts +174 -0
  319. package/dist/types.d.ts.map +1 -0
  320. package/dist/types.js +17 -0
  321. package/dist/types.js.map +1 -0
  322. package/package.json +47 -0
  323. package/src/errors.ts +14 -0
  324. package/src/index.ts +41 -0
  325. package/src/job-context.ts +244 -0
  326. package/src/pool.ts +143 -0
  327. package/src/protocol/buf/validate/expression_pb.ts +163 -0
  328. package/src/protocol/buf/validate/priv/private_pb.ts +86 -0
  329. package/src/protocol/buf/validate/validate_pb.ts +3802 -0
  330. package/src/protocol/gnostic/discovery/v1/discovery_pb.ts +1020 -0
  331. package/src/protocol/gnostic/openapi/v2/openapiv2_pb.ts +2679 -0
  332. package/src/protocol/gnostic/openapi/v3/annotations_pb.ts +55 -0
  333. package/src/protocol/gnostic/openapi/v3/openapiv3_pb.ts +2660 -0
  334. package/src/protocol/google/api/annotations_pb.ts +39 -0
  335. package/src/protocol/google/api/client_pb.ts +1183 -0
  336. package/src/protocol/google/api/expr/v1alpha1/checked_pb.ts +751 -0
  337. package/src/protocol/google/api/expr/v1alpha1/eval_pb.ts +222 -0
  338. package/src/protocol/google/api/expr/v1alpha1/explain_pb.ts +98 -0
  339. package/src/protocol/google/api/expr/v1alpha1/syntax_pb.ts +882 -0
  340. package/src/protocol/google/api/expr/v1alpha1/value_pb.ts +260 -0
  341. package/src/protocol/google/api/expr/v1beta1/decl_pb.ts +191 -0
  342. package/src/protocol/google/api/expr/v1beta1/eval_pb.ts +244 -0
  343. package/src/protocol/google/api/expr/v1beta1/expr_pb.ts +565 -0
  344. package/src/protocol/google/api/expr/v1beta1/source_pb.ts +117 -0
  345. package/src/protocol/google/api/expr/v1beta1/value_pb.ts +261 -0
  346. package/src/protocol/google/api/field_behavior_pb.ts +157 -0
  347. package/src/protocol/google/api/field_info_pb.ts +178 -0
  348. package/src/protocol/google/api/http_pb.ts +474 -0
  349. package/src/protocol/google/api/httpbody_pb.ts +108 -0
  350. package/src/protocol/google/api/launch_stage_pb.ts +118 -0
  351. package/src/protocol/google/api/resource_pb.ts +354 -0
  352. package/src/protocol/google/api/routing_pb.ts +507 -0
  353. package/src/protocol/google/api/visibility_pb.ts +169 -0
  354. package/src/protocol/google/bytestream/bytestream_pb.ts +325 -0
  355. package/src/protocol/google/geo/type/viewport_pb.ts +93 -0
  356. package/src/protocol/google/iam/v1/iam_policy_pb.ts +239 -0
  357. package/src/protocol/google/iam/v1/options_pb.ts +66 -0
  358. package/src/protocol/google/iam/v1/policy_pb.ts +644 -0
  359. package/src/protocol/google/longrunning/operations_pb.ts +460 -0
  360. package/src/protocol/google/rpc/code_pb.ts +268 -0
  361. package/src/protocol/google/rpc/context/attribute_context_pb.ts +638 -0
  362. package/src/protocol/google/rpc/error_details_pb.ts +662 -0
  363. package/src/protocol/google/rpc/status_pb.ts +76 -0
  364. package/src/protocol/google/type/calendar_period_pb.ts +102 -0
  365. package/src/protocol/google/type/color_pb.ts +204 -0
  366. package/src/protocol/google/type/date_pb.ts +82 -0
  367. package/src/protocol/google/type/datetime_pb.ts +181 -0
  368. package/src/protocol/google/type/dayofweek_pb.ts +96 -0
  369. package/src/protocol/google/type/decimal_pb.ts +113 -0
  370. package/src/protocol/google/type/expr_pb.ts +105 -0
  371. package/src/protocol/google/type/fraction_pb.ts +57 -0
  372. package/src/protocol/google/type/interval_pb.ts +69 -0
  373. package/src/protocol/google/type/latlng_pb.ts +60 -0
  374. package/src/protocol/google/type/localized_text_pb.ts +60 -0
  375. package/src/protocol/google/type/money_pb.ts +69 -0
  376. package/src/protocol/google/type/month_pb.ts +131 -0
  377. package/src/protocol/google/type/phone_number_pb.ts +171 -0
  378. package/src/protocol/google/type/postal_address_pb.ts +194 -0
  379. package/src/protocol/google/type/quaternion_pb.ts +126 -0
  380. package/src/protocol/google/type/timeofday_pb.ts +79 -0
  381. package/src/protocol/uplim/api/v1/account_pb.ts +178 -0
  382. package/src/protocol/uplim/api/v1/auth_pb.ts +278 -0
  383. package/src/protocol/uplim/api/v1/buckets_pb.ts +2214 -0
  384. package/src/protocol/uplim/api/v1/content_type_matcher_pb.ts +448 -0
  385. package/src/protocol/uplim/api/v1/events_pb.ts +874 -0
  386. package/src/protocol/uplim/api/v1/integration_admin_pb.ts +1237 -0
  387. package/src/protocol/uplim/api/v1/integration_install_pb.ts +386 -0
  388. package/src/protocol/uplim/api/v1/integration_types_pb.ts +896 -0
  389. package/src/protocol/uplim/api/v1/integrations_pb.ts +944 -0
  390. package/src/protocol/uplim/api/v1/internal_pb.ts +234 -0
  391. package/src/protocol/uplim/api/v1/metadata_pb.ts +305 -0
  392. package/src/protocol/uplim/api/v1/public-buckets_pb.ts +83 -0
  393. package/src/protocol/uplim/api/v1/public-uploads_pb.ts +543 -0
  394. package/src/protocol/uplim/api/v1/upload-aliases_pb.ts +468 -0
  395. package/src/protocol/uplim/api/v1/uploads_pb.ts +4294 -0
  396. package/src/protocol/uplim/workflow/v1/activities_pb.ts +488 -0
  397. package/src/protocol/uplim/workflow/v1/integration_queue_admin_pb.ts +594 -0
  398. package/src/protocol/uplim/workflow/v1/integration_queue_pb.ts +353 -0
  399. package/src/protocol/uplim/workflow/v1/workflows_pb.ts +746 -0
  400. package/src/rpc-clients.ts +29 -0
  401. package/src/sse-client.ts +83 -0
  402. package/src/types.ts +169 -0
@@ -0,0 +1,4294 @@
1
+ // @generated by protoc-gen-es v2.10.1 with parameter "target=ts,import_extension=.js"
2
+ // @generated from file uplim/api/v1/uploads.proto (package uplim.api.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
6
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
7
+ import type { EmptySchema, FieldMask, Timestamp } from "@bufbuild/protobuf/wkt";
8
+ import { file_google_protobuf_empty, file_google_protobuf_field_mask, file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
9
+ import type { BucketPermissionLevel } from "./buckets_pb.js";
10
+ import { file_uplim_api_v1_buckets } from "./buckets_pb.js";
11
+ import { file_buf_validate_validate } from "../../../buf/validate/validate_pb.js";
12
+ import type { BucketRef, FolderRef, UploadRef } from "./internal_pb.js";
13
+ import { file_uplim_api_v1_internal } from "./internal_pb.js";
14
+ import type { UploadMetadata } from "./metadata_pb.js";
15
+ import { file_uplim_api_v1_metadata } from "./metadata_pb.js";
16
+ import type { UploadAlias } from "./upload-aliases_pb.js";
17
+ import { file_uplim_api_v1_upload_aliases } from "./upload-aliases_pb.js";
18
+ import type { IntegrationRef } from "./integration_types_pb.js";
19
+ import { file_uplim_api_v1_integration_types } from "./integration_types_pb.js";
20
+ import { file_gnostic_openapi_v3_annotations } from "../../../gnostic/openapi/v3/annotations_pb.js";
21
+ import type { JsonObject, Message } from "@bufbuild/protobuf";
22
+
23
+ /**
24
+ * Describes the file uplim/api/v1/uploads.proto.
25
+ */
26
+ export const file_uplim_api_v1_uploads: GenFile = /*@__PURE__*/
27
+ fileDesc("Chp1cGxpbS9hcGkvdjEvdXBsb2Fkcy5wcm90bxIMdXBsaW0uYXBpLnYxIjIKCUJhc2ljVXNlchITCgd1c2VyX2lkGAEgASgDQgIwARIQCgh1c2VybmFtZRgCIAEoCSLdCgoGVXBsb2FkEhEKCXVwbG9hZF9pZBgBIAEoCRIMCgRwYXRoGAMgASgJEgwKBHNsdWcYBCABKAkSCwoDdXJsGAUgASgJEhMKC2NvbnRlbnRfdXJsGAcgASgJEhIKCnNpemVfYnl0ZXMYCCABKAUSJgoEdHlwZRgJIAEoDjIYLnVwbGltLmFwaS52MS5VcGxvYWRUeXBlEgwKBHRhZ3MYCiADKAkSJQoOaW50ZWdyYXRpb25faWQYDCABKAlCCLpIBXIDsAEBSACIAQESNgoLaW50ZWdyYXRpb24YDSABKAsyHC51cGxpbS5hcGkudjEuSW50ZWdyYXRpb25SZWZIAYgBARIbChNhbGxvd19hbnlfZXh0ZW5zaW9uGA4gASgIEiMKFmRlZmF1bHRfc2x1Z19leHRlbnNpb24YDyABKAlIAogBARIiChVnZW5lcmF0ZWRfZGVzY3JpcHRpb24YECABKAlIA4gBARIuCgxtZXRhX3VwbG9hZHMYESADKAsyGC51cGxpbS5hcGkudjEuTWV0YVVwbG9hZBIUCgdwcml2YXRlGBIgASgISASIAQESKgoHYWxpYXNlcxgTIAMoCzIZLnVwbGltLmFwaS52MS5VcGxvYWRBbGlhcxIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCgZhdXRob3IYFiABKAsyFy51cGxpbS5hcGkudjEuQmFzaWNVc2VySAWIAQESNgoQbGFzdF9tb2RpZmllZF9ieRgXIAEoCzIXLnVwbGltLmFwaS52MS5CYXNpY1VzZXJIBogBARIpChx0aHVtYm5haWxfZ2VuZXJhdGlvbl92ZXJzaW9uGBggASgNSAeIAQESLgohYWlfZGVzY3JpcHRpb25fZ2VuZXJhdGlvbl92ZXJzaW9uGBkgASgNSAiIAQESJwoaYWlfdGFnc19nZW5lcmF0aW9uX3ZlcnNpb24YGiABKA1ICYgBARIqCh12aXJ1c19zY2FuX2dlbmVyYXRpb25fdmVyc2lvbhgbIAEoDUgKiAEBEiUKGGFpX2Rlc2NyaXB0aW9uX2lucHV0X3JlZhgcIAEoCUgLiAEBEjUKD2ludGVudF9tZXRhZGF0YRgeIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIDIgBARIVCg1leHRlcm5hbF9wYXRoGB8gASgJEg0KBW9yZGVyGCAgASgFEhcKD2lzX3ZpcnR1YWxfZmlsZRghIAEoCBIaChJpbnRlZ3JhdGlvbl9oaWRkZW4YIiABKAgSDwoHdmVyc2lvbhgjIAEoBUIRCg9faW50ZWdyYXRpb25faWRCDgoMX2ludGVncmF0aW9uQhkKF19kZWZhdWx0X3NsdWdfZXh0ZW5zaW9uQhgKFl9nZW5lcmF0ZWRfZGVzY3JpcHRpb25CCgoIX3ByaXZhdGVCCQoHX2F1dGhvckITChFfbGFzdF9tb2RpZmllZF9ieUIfCh1fdGh1bWJuYWlsX2dlbmVyYXRpb25fdmVyc2lvbkIkCiJfYWlfZGVzY3JpcHRpb25fZ2VuZXJhdGlvbl92ZXJzaW9uQh0KG19haV90YWdzX2dlbmVyYXRpb25fdmVyc2lvbkIgCh5fdmlydXNfc2Nhbl9nZW5lcmF0aW9uX3ZlcnNpb25CGwoZX2FpX2Rlc2NyaXB0aW9uX2lucHV0X3JlZkISChBfaW50ZW50X21ldGFkYXRhSgQIAhADItQDChJMaXN0VXBsb2Fkc1JlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSEQoEcGF0aBgCIAEoCUgBiAEBEhUKBHllYXIYAyABKAVCAhgBSAKIAQESFgoFbW9udGgYBCABKAVCAhgBSAOIAQESDAoEdGFncxgFIAMoCRIbCgVsaW1pdBgGIAEoBUIKukgHGgUY6AcoAUgAEhAKBmN1cnNvchgHIAEoCUgAEjIKCWRhdGVfZnJvbRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARIwCgdkYXRlX3RvGAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEhMKBnNlYXJjaBgKIAEoCUgGiAEBEhQKB3NvcnRfYnkYCyABKAlIB4gBARIXCgpzb3J0X29yZGVyGAwgASgJSAiIAQFCDAoKcGFnaW5hdGlvbkIHCgVfcGF0aEIHCgVfeWVhckIICgZfbW9udGhCDAoKX2RhdGVfZnJvbUIKCghfZGF0ZV90b0IJCgdfc2VhcmNoQgoKCF9zb3J0X2J5Qg0KC19zb3J0X29yZGVyIlEKE0xpc3RVcGxvYWRzUmVzcG9uc2USJQoHdXBsb2FkcxgBIAMoCzIULnVwbGltLmFwaS52MS5VcGxvYWQSEwoLbmV4dF9jdXJzb3IYAiABKAkicgoZR2V0VXBsb2FkQnJlYWtkb3duUmVxdWVzdBIrCgpidWNrZXRfcmVmGAEgASgLMhcudXBsaW0uYXBpLnYxLkJ1Y2tldFJlZhIRCgRwYXRoGAIgASgJSACIAQESDAoEdGFncxgDIAMoCUIHCgVfcGF0aCK8AQoaR2V0VXBsb2FkQnJlYWtkb3duUmVzcG9uc2USRgoKYnJlYWtkb3ducxgBIAMoCzIyLnVwbGltLmFwaS52MS5HZXRVcGxvYWRCcmVha2Rvd25SZXNwb25zZS5CcmVha2Rvd24aVgoJQnJlYWtkb3duEg0KBW1vbnRoGAEgASgFEgwKBHllYXIYAiABKAUSFAoMdXBsb2FkX2NvdW50GAMgASgFEhYKCnNpemVfYnl0ZXMYBCABKANCAjABIvYFChNDcmVhdGVVcGxvYWRSZXF1ZXN0EisKCmJ1Y2tldF9yZWYYASABKAsyFy51cGxpbS5hcGkudjEuQnVja2V0UmVmEhkKEXVwbG9hZF9yZXF1ZXN0X2lkGAIgASgJEhAKCGZpbGVuYW1lGAMgASgJEgwKBHRhZ3MYBCADKAkSEwoLdXBsb2FkZWRfYnkYBSABKAkSMgoGY3JlYXRlGA0gASgLMiAudXBsaW0uYXBpLnYxLkNyZWF0ZVVwbG9hZFRhcmdldEgAEioKB3JlcGxhY2UYDiABKAsyFy51cGxpbS5hcGkudjEuVXBsb2FkUmVmSAASFQoLdXBzZXJ0X3BhdGgYDyABKAlIABJECgpwYXJ0X2V0YWdzGAkgAygLMjAudXBsaW0uYXBpLnYxLkNyZWF0ZVVwbG9hZFJlcXVlc3QuVXBsb2FkUGFydEV0YWcSGwoTYWxsb3dfYW55X2V4dGVuc2lvbhgKIAEoCBIjChZkZWZhdWx0X3NsdWdfZXh0ZW5zaW9uGAsgASgJSAGIAQESFAoHcHJpdmF0ZRgMIAEoCEgCiAEBEh8KEmludGVncmF0aW9uX2hpZGRlbhgQIAEoCEgDiAEBEjMKCmNyZWF0ZWRfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESOwoObGFzdF9zeW5jZWRfYXQYEiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgIYAUgFiAEBEhsKE2xhc3Rfc3luY2VkX3ZlcnNpb24YEyABKAUaMwoOVXBsb2FkUGFydEV0YWcSEwoLcGFydF9udW1iZXIYASABKAUSDAoEZXRhZxgCIAEoCUIICgZ0YXJnZXRCGQoXX2RlZmF1bHRfc2x1Z19leHRlbnNpb25CCgoIX3ByaXZhdGVCFQoTX2ludGVncmF0aW9uX2hpZGRlbkINCgtfY3JlYXRlZF9hdEIRCg9fbGFzdF9zeW5jZWRfYXQibwoSQ3JlYXRlVXBsb2FkVGFyZ2V0EhEKCWRpcmVjdG9yeRgBIAEoCRIRCgRzbHVnGAIgASgJSACIAQESGQoMZHluYW1pY19zbHVnGAMgASgFSAGIAQFCBwoFX3NsdWdCDwoNX2R5bmFtaWNfc2x1ZyKkAQoUQ3JlYXRlVXBsb2FkUmVzcG9uc2USJAoGdXBsb2FkGAEgASgLMhQudXBsaW0uYXBpLnYxLlVwbG9hZBIQCghjb25mbGljdBgCIAEoCBI/ChBjb25mbGljdF9oaXN0b3J5GAMgASgLMiAudXBsaW0uYXBpLnYxLlVwbG9hZEhpc3RvcnlFbnRyeUgAiAEBQhMKEV9jb25mbGljdF9oaXN0b3J5ImwKEEdldFVwbG9hZFJlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSKwoKdXBsb2FkX3JlZhgCIAEoCzIXLnVwbGltLmFwaS52MS5VcGxvYWRSZWYiOQoRR2V0VXBsb2FkUmVzcG9uc2USJAoGdXBsb2FkGAEgASgLMhQudXBsaW0uYXBpLnYxLlVwbG9hZCJLChlHZXRVcGxvYWRNZXRhZGF0YVJlc3BvbnNlEi4KCG1ldGFkYXRhGAEgASgLMhwudXBsaW0uYXBpLnYxLlVwbG9hZE1ldGFkYXRhIpADChNVcGRhdGVVcGxvYWRSZXF1ZXN0EisKCmJ1Y2tldF9yZWYYASABKAsyFy51cGxpbS5hcGkudjEuQnVja2V0UmVmEisKCnVwbG9hZF9yZWYYAiABKAsyFy51cGxpbS5hcGkudjEuVXBsb2FkUmVmEhYKBHRhZ3MYBiADKAlCCLpIBZIBAhBkEjkKC3VwZGF0ZV9tYXNrGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IIukgFkgECEAoSEQoHcHJpdmF0ZRgIIAEoCEgAEhkKD2luaGVyaXRfcHJpdmF0ZRgJIAEoCEgAEh0KBHBhdGgYCiABKAlCCrpIB3IFEAEYgAJIAYgBARIdCgRzbHVnGAsgASgJQgq6SAdyBRABGIABSAKIAQESHwoSaW50ZWdyYXRpb25faGlkZGVuGAwgASgISAOIAQFCEAoOcHJpdmF0ZV9hY2Nlc3NCBwoFX3BhdGhCBwoFX3NsdWdCFQoTX2ludGVncmF0aW9uX2hpZGRlbkoECAUQBiI8ChRVcGRhdGVVcGxvYWRSZXNwb25zZRIkCgZ1cGxvYWQYASABKAsyFC51cGxpbS5hcGkudjEuVXBsb2FkIm8KE0RlbGV0ZVVwbG9hZFJlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSKwoKdXBsb2FkX3JlZhgCIAEoCzIXLnVwbGltLmFwaS52MS5VcGxvYWRSZWYilAEKFFJlcXVlc3RVcGxvYWRSZXF1ZXN0EisKCmJ1Y2tldF9yZWYYASABKAsyFy51cGxpbS5hcGkudjEuQnVja2V0UmVmEhYKDmZpbGVzaXplX2J5dGVzGAIgASgFEhEKCW1pbWVfdHlwZRgDIAEoCRIRCglleHRlbnNpb24YBCABKAkSEQoJbXVsdGlwYXJ0GAUgASgIIsIKCh9DcmVhdGVTaWduZWRVcGxvYWRJbnRlbnRSZXF1ZXN0EisKCmJ1Y2tldF9yZWYYASABKAsyFy51cGxpbS5hcGkudjEuQnVja2V0UmVmEjMKCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoIbWV0YWRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESWQoLY29uc3RyYWludHMYBSABKAsyPy51cGxpbS5hcGkudjEuQ3JlYXRlU2lnbmVkVXBsb2FkSW50ZW50UmVxdWVzdC5VcGxvYWRDb25zdHJhaW50c0gDiAEBElkKBmNyZWF0ZRgGIAEoCzJHLnVwbGltLmFwaS52MS5DcmVhdGVTaWduZWRVcGxvYWRJbnRlbnRSZXF1ZXN0LkludGVudFRhcmdldC5DcmVhdGVUYXJnZXRIABJbCgdyZXBsYWNlGAcgASgLMkgudXBsaW0uYXBpLnYxLkNyZWF0ZVNpZ25lZFVwbG9hZEludGVudFJlcXVlc3QuSW50ZW50VGFyZ2V0LlJlcGxhY2VUYXJnZXRIABIVCgt1cHNlcnRfcGF0aBgIIAEoCUgAEhAKCGZpbGVuYW1lGAkgASgJEgwKBHRhZ3MYCiADKAkSEwoLdXBsb2FkZWRfYnkYCyABKAkSGwoTYWxsb3dfYW55X2V4dGVuc2lvbhgMIAEoCBIjChZkZWZhdWx0X3NsdWdfZXh0ZW5zaW9uGA0gASgJSASIAQESFAoHcHJpdmF0ZRgOIAEoCEgFiAEBEmMKFHJlc291cmNlX3Blcm1pc3Npb25zGA8gAygLMkUudXBsaW0uYXBpLnYxLkNyZWF0ZVNpZ25lZFVwbG9hZEludGVudFJlcXVlc3QuUmVzb3VyY2VQZXJtaXNzaW9uR3JhbnQSHwoSaW50ZWdyYXRpb25faGlkZGVuGBAgASgISAaIAQEarQEKEVVwbG9hZENvbnN0cmFpbnRzEiMKEm1heF9maWxlc2l6ZV9ieXRlcxgBIAEoA0ICMAFIAIgBARIaChJhbGxvd2VkX21pbWVfdHlwZXMYAiADKAkSGgoSYWxsb3dlZF9leHRlbnNpb25zGAMgAygJEhYKCW11bHRpcGFydBgEIAEoCEgBiAEBQhUKE19tYXhfZmlsZXNpemVfYnl0ZXNCDAoKX211bHRpcGFydBq9AQoMSW50ZW50VGFyZ2V0GmkKDENyZWF0ZVRhcmdldBIRCglkaXJlY3RvcnkYASABKAkSEQoEc2x1ZxgCIAEoCUgAiAEBEhkKDGR5bmFtaWNfc2x1ZxgDIAEoBUgBiAEBQgcKBV9zbHVnQg8KDV9keW5hbWljX3NsdWcaQgoNUmVwbGFjZVRhcmdldBITCgl1cGxvYWRfaWQYASABKAlIABIVCgt1cGxvYWRfcGF0aBgCIAEoCUgAQgUKA3JlZhpsChdSZXNvdXJjZVBlcm1pc3Npb25HcmFudBISCgphY2NvdW50X2lkGAEgASgJEj0KEHBlcm1pc3Npb25fbGV2ZWwYAiABKA4yIy51cGxpbS5hcGkudjEuQnVja2V0UGVybWlzc2lvbkxldmVsQggKBnRhcmdldEINCgtfZXhwaXJlc19hdEILCglfbWV0YWRhdGFCDgoMX2NvbnN0cmFpbnRzQhkKF19kZWZhdWx0X3NsdWdfZXh0ZW5zaW9uQgoKCF9wcml2YXRlQhUKE19pbnRlZ3JhdGlvbl9oaWRkZW4ibwogQ3JlYXRlU2lnbmVkVXBsb2FkSW50ZW50UmVzcG9uc2USGwoTc2lnbmVkX2ludGVudF90b2tlbhgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKKAQoaUmVxdWVzdFNpZ25lZFVwbG9hZFJlcXVlc3QSGwoTc2lnbmVkX2ludGVudF90b2tlbhgCIAEoCRIWCg5maWxlc2l6ZV9ieXRlcxgDIAEoBRIRCgltaW1lX3R5cGUYBCABKAkSEQoJZXh0ZW5zaW9uGAUgASgJEhEKCW11bHRpcGFydBgGIAEoCCKbAQobQ29tcGxldGVTaWduZWRVcGxvYWRSZXF1ZXN0EhsKE3NpZ25lZF9pbnRlbnRfdG9rZW4YAiABKAkSGQoRdXBsb2FkX3JlcXVlc3RfaWQYAyABKAkSRAoKcGFydF9ldGFncxgJIAMoCzIwLnVwbGltLmFwaS52MS5DcmVhdGVVcGxvYWRSZXF1ZXN0LlVwbG9hZFBhcnRFdGFnIkQKHENvbXBsZXRlU2lnbmVkVXBsb2FkUmVzcG9uc2USJAoGdXBsb2FkGAEgASgLMhQudXBsaW0uYXBpLnYxLlVwbG9hZCKTBAoVUmVxdWVzdFVwbG9hZFJlc3BvbnNlEhEKCXVwbG9hZF9pZBgBIAEoCRJCCgltdWx0aXBhcnQYAiABKAsyLS51cGxpbS5hcGkudjEuUmVxdWVzdFVwbG9hZFJlc3BvbnNlLk11bHRpcGFydEgAEjwKBmRpcmVjdBgDIAEoCzIqLnVwbGltLmFwaS52MS5SZXF1ZXN0VXBsb2FkUmVzcG9uc2UuRGlyZWN0SAAakwEKCU11bHRpcGFydBJBCgVwYXJ0cxgBIAMoCzIyLnVwbGltLmFwaS52MS5SZXF1ZXN0VXBsb2FkUmVzcG9uc2UuTXVsdGlwYXJ0LlBhcnQaQwoEUGFydBITCgtwYXJ0X251bWJlchgBIAEoBRISCgpzaXplX2J5dGVzGAIgASgFEhIKCnVwbG9hZF91cmwYAyABKAkavwEKBkRpcmVjdBISCgp1cGxvYWRfdXJsGAEgASgJEhcKD3VwbG9hZF91cmxfcG9zdBgCIAEoCRJTCg11cGxvYWRfdmFsdWVzGAMgAygLMjwudXBsaW0uYXBpLnYxLlJlcXVlc3RVcGxvYWRSZXNwb25zZS5EaXJlY3QuVXBsb2FkVmFsdWVzRW50cnkaMwoRVXBsb2FkVmFsdWVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUINCgt1cGxvYWRfdHlwZSJnCh1SZXF1ZXN0VXBsb2FkTGlzdFBhcnRzUmVxdWVzdBIrCgpidWNrZXRfcmVmGAEgASgLMhcudXBsaW0uYXBpLnYxLkJ1Y2tldFJlZhIZChF1cGxvYWRfcmVxdWVzdF9pZBgCIAEoCSKlAQoeUmVxdWVzdFVwbG9hZExpc3RQYXJ0c1Jlc3BvbnNlEkAKBXBhcnRzGAEgAygLMjEudXBsaW0uYXBpLnYxLlJlcXVlc3RVcGxvYWRMaXN0UGFydHNSZXNwb25zZS5QYXJ0GkEKBFBhcnQSEwoLcGFydF9udW1iZXIYASABKAUSFgoKc2l6ZV9ieXRlcxgCIAEoA0ICMAESDAoEZXRhZxgDIAEoCSKSAQobUmVxdWVzdFVwbG9hZEdldFBhcnRSZXF1ZXN0EisKCmJ1Y2tldF9yZWYYASABKAsyFy51cGxpbS5hcGkudjEuQnVja2V0UmVmEhkKEXVwbG9hZF9yZXF1ZXN0X2lkGAIgASgJEhMKC3BhcnRfbnVtYmVyGAMgASgFEhYKCnNpemVfYnl0ZXMYBCABKANCAjABIjIKHFJlcXVlc3RVcGxvYWRHZXRQYXJ0UmVzcG9uc2USEgoKdXBsb2FkX3VybBgBIAEoCSJdChtHZXRVcGxvYWREb3dubG9hZFVybFJlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSEQoJdXBsb2FkX2lkGAIgAygJIv0BChxHZXRVcGxvYWREb3dubG9hZFVybFJlc3BvbnNlEkgKB3Jlc3VsdHMYASADKAsyNy51cGxpbS5hcGkudjEuR2V0VXBsb2FkRG93bmxvYWRVcmxSZXNwb25zZS5SZXN1bHRzRW50cnkaMgoERGF0YRIVCg10aHVtYm5haWxfdXJsGAEgASgJEhMKC2NvbnRlbnRfdXJsGAIgASgJGl8KDFJlc3VsdHNFbnRyeRILCgNrZXkYASABKAkSPgoFdmFsdWUYAiABKAsyLy51cGxpbS5hcGkudjEuR2V0VXBsb2FkRG93bmxvYWRVcmxSZXNwb25zZS5EYXRhOgI4ASLBAgoSVXBsb2FkSGlzdG9yeUVudHJ5EhIKCmhpc3RvcnlfaWQYASABKAkSEQoJdXBsb2FkX2lkGAIgASgJEg8KB3ZlcnNpb24YAyABKAUSFgoKc2l6ZV9ieXRlcxgFIAEoA0ICMAESJgoEdHlwZRgGIAEoDjIYLnVwbGltLmFwaS52MS5VcGxvYWRUeXBlEi8KC3JlcGxhY2VkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgxtZXRhX3VwbG9hZHMYCCADKAsyGC51cGxpbS5hcGkudjEuTWV0YVVwbG9hZBIsCgZhdXRob3IYCSABKAsyFy51cGxpbS5hcGkudjEuQmFzaWNVc2VySACIAQESEwoLaXNfY29uZmxpY3QYCiABKAhCCQoHX2F1dGhvckoECAQQBSJ0ChhMaXN0VXBsb2FkSGlzdG9yeVJlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSKwoKdXBsb2FkX3JlZhgCIAEoCzIXLnVwbGltLmFwaS52MS5VcGxvYWRSZWYiTgoZTGlzdFVwbG9hZEhpc3RvcnlSZXNwb25zZRIxCgdoaXN0b3J5GAEgAygLMiAudXBsaW0uYXBpLnYxLlVwbG9hZEhpc3RvcnlFbnRyeSJrCh5HZXRVcGxvYWRIaXN0b3J5Q29udGVudFJlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSHAoKaGlzdG9yeV9pZBgCIAEoCUIIukgFcgOwAQEiaQofR2V0VXBsb2FkSGlzdG9yeUNvbnRlbnRSZXNwb25zZRITCgtjb250ZW50X3VybBgBIAEoCRIxCgdoaXN0b3J5GAIgASgLMiAudXBsaW0uYXBpLnYxLlVwbG9hZEhpc3RvcnlFbnRyeSJsCh9SZXN0b3JlVXBsb2FkRnJvbUhpc3RvcnlSZXF1ZXN0EisKCmJ1Y2tldF9yZWYYASABKAsyFy51cGxpbS5hcGkudjEuQnVja2V0UmVmEhwKCmhpc3RvcnlfaWQYAiABKAlCCLpIBXIDsAEBIkgKIFJlc3RvcmVVcGxvYWRGcm9tSGlzdG9yeVJlc3BvbnNlEiQKBnVwbG9hZBgBIAEoCzIULnVwbGltLmFwaS52MS5VcGxvYWQifgoaRGVsZXRlVXBsb2FkSGlzdG9yeVJlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSFAoKaGlzdG9yeV9pZBgCIAEoCUgAEhMKCXVwbG9hZF9pZBgDIAEoCUgAQggKBnRhcmdldCLlCAoGRm9sZGVyEhEKCWZvbGRlcl9pZBgBIAEoCRIMCgRwYXRoGAIgASgJEhMKC3BhcmVudF9wYXRoGAMgASgJEhMKBmNvbG91chgEIAEoCUgAiAEBEikKHGhhc19wdWJsaWNfZGlyZWN0b3J5X2xpc3RpbmcYBSABKAhIAYgBARIsCh9pbmhlcml0ZWRfaGFzX2RpcmVjdG9yeV9saXN0aW5nGAYgASgISAKIAQESGwoOcHJpdmF0ZV9hY2Nlc3MYByABKAhIA4gBARIlChhpbmhlcml0ZWRfcHJpdmF0ZV9hY2Nlc3MYCCABKAhIBIgBARIVCg1pc19zaGFyZV9yb290GAkgASgIEi0KFnNjb3BpbmdfaW50ZWdyYXRpb25faWQYCiABKAlCCLpIBXIDsAEBSAWIAQESPgoTc2NvcGluZ19pbnRlZ3JhdGlvbhgLIAEoCzIcLnVwbGltLmFwaS52MS5JbnRlZ3JhdGlvblJlZkgGiAEBEiEKFHZpcnR1YWxfZmlsZV9lbmFibGVkGAwgASgISAeIAQESHgoRdmlydHVhbF9maWxlX25hbWUYDSABKAlICIgBARIyCht2aXJ0dWFsX2ZpbGVfaW50ZWdyYXRpb25faWQYDiABKAlCCLpIBXIDsAEBSAmIAQESQwoYdmlydHVhbF9maWxlX2ludGVncmF0aW9uGA8gASgLMhwudXBsaW0uYXBpLnYxLkludGVncmF0aW9uUmVmSAqIAQESMgobdmlydHVhbF9maWxlX3Jvb3RfdXBsb2FkX2lkGBAgASgJQgi6SAVyA7ABAUgLiAEBEhUKDWV4dGVybmFsX3BhdGgYESABKAkSHAoUZXh0ZXJuYWxfcGFyZW50X3BhdGgYEiABKAkSDQoFb3JkZXIYEyABKAUSGgoSaW50ZWdyYXRpb25faGlkZGVuGBQgASgIEi4KCmNyZWF0ZWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgkKB19jb2xvdXJCHwodX2hhc19wdWJsaWNfZGlyZWN0b3J5X2xpc3RpbmdCIgogX2luaGVyaXRlZF9oYXNfZGlyZWN0b3J5X2xpc3RpbmdCEQoPX3ByaXZhdGVfYWNjZXNzQhsKGV9pbmhlcml0ZWRfcHJpdmF0ZV9hY2Nlc3NCGQoXX3Njb3BpbmdfaW50ZWdyYXRpb25faWRCFgoUX3Njb3BpbmdfaW50ZWdyYXRpb25CFwoVX3ZpcnR1YWxfZmlsZV9lbmFibGVkQhQKEl92aXJ0dWFsX2ZpbGVfbmFtZUIeChxfdmlydHVhbF9maWxlX2ludGVncmF0aW9uX2lkQhsKGV92aXJ0dWFsX2ZpbGVfaW50ZWdyYXRpb25CHgocX3ZpcnR1YWxfZmlsZV9yb290X3VwbG9hZF9pZCKIAQoTVmlydHVhbEZpbGVTZXR0aW5ncxIPCgdlbmFibGVkGAEgASgIEh0KBG5hbWUYAiABKAlCCrpIB3IFEAEYgAFIAIgBARIlCg5yb290X3VwbG9hZF9pZBgDIAEoCUIIukgFcgOwAQFIAYgBAUIHCgVfbmFtZUIRCg9fcm9vdF91cGxvYWRfaWQi5gEKEkxpc3RGb2xkZXJzUmVxdWVzdBIrCgpidWNrZXRfcmVmGAEgASgLMhcudXBsaW0uYXBpLnYxLkJ1Y2tldFJlZhInCgZmb2xkZXIYAiABKAsyFy51cGxpbS5hcGkudjEuRm9sZGVyUmVmEhsKE2luY2x1ZGVfYnJlYWRjcnVtYnMYAyABKAgSFAoHc29ydF9ieRgEIAEoCUgAiAEBEhcKCnNvcnRfb3JkZXIYBSABKAlIAYgBARITCgtzaG93X2hpZGRlbhgGIAEoCEIKCghfc29ydF9ieUINCgtfc29ydF9vcmRlciJnChNMaXN0Rm9sZGVyc1Jlc3BvbnNlEiUKB2ZvbGRlcnMYASADKAsyFC51cGxpbS5hcGkudjEuRm9sZGVyEikKC2JyZWFkY3J1bWJzGAIgAygLMhQudXBsaW0uYXBpLnYxLkZvbGRlciLMAQoTQ3JlYXRlRm9sZGVyUmVxdWVzdBIrCgpidWNrZXRfcmVmGAEgASgLMhcudXBsaW0uYXBpLnYxLkJ1Y2tldFJlZhIYCgRuYW1lGAIgASgJQgq6SAdyBRABGIABEh8KC3BhcmVudF9wYXRoGAMgASgJQgq6SAdyBRABGIACEjwKDHZpcnR1YWxfZmlsZRgEIAEoCzIhLnVwbGltLmFwaS52MS5WaXJ0dWFsRmlsZVNldHRpbmdzSACIAQFCDwoNX3ZpcnR1YWxfZmlsZSI8ChRDcmVhdGVGb2xkZXJSZXNwb25zZRIkCgZmb2xkZXIYASABKAsyFC51cGxpbS5hcGkudjEuRm9sZGVyIlUKE0RlbGV0ZUZvbGRlclJlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSEQoJZm9sZGVyX2lkGAIgASgJIqIEChNVcGRhdGVGb2xkZXJSZXF1ZXN0EisKCmJ1Y2tldF9yZWYYASABKAsyFy51cGxpbS5hcGkudjEuQnVja2V0UmVmEisKCmZvbGRlcl9yZWYYAiABKAsyFy51cGxpbS5hcGkudjEuRm9sZGVyUmVmEhMKBmNvbG91chgDIAEoCUgCiAEBEiYKHGhhc19wdWJsaWNfZGlyZWN0b3J5X2xpc3RpbmcYBCABKAhIABInCh1pbmhlcml0X2hhc19kaXJlY3RvcnlfbGlzdGluZxgFIAEoCEgAEhgKDnByaXZhdGVfYWNjZXNzGAYgASgISAESIAoWaW5oZXJpdF9wcml2YXRlX2FjY2VzcxgHIAEoCEgBEhEKBG5hbWUYCCABKAlIA4gBARIeChF2aXJ0dWFsX2ZpbGVfbmFtZRgKIAEoCUgEiAEBEgwKBHRhZ3MYCyADKAkSLwoLdXBkYXRlX21hc2sYDCABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrEhIKBW9yZGVyGA0gASgFSAWIAQESHwoSaW50ZWdyYXRpb25faGlkZGVuGA4gASgISAaIAQFCEwoRZGlyZWN0b3J5X2xpc3RpbmdCCAoGYWNjZXNzQgkKB19jb2xvdXJCBwoFX25hbWVCFAoSX3ZpcnR1YWxfZmlsZV9uYW1lQggKBl9vcmRlckIVChNfaW50ZWdyYXRpb25faGlkZGVuIjwKFFVwZGF0ZUZvbGRlclJlc3BvbnNlEiQKBmZvbGRlchgBIAEoCzIULnVwbGltLmFwaS52MS5Gb2xkZXIibAoQR2V0Rm9sZGVyUmVxdWVzdBIrCgpidWNrZXRfcmVmGAEgASgLMhcudXBsaW0uYXBpLnYxLkJ1Y2tldFJlZhIrCgpmb2xkZXJfcmVmGAIgASgLMhcudXBsaW0uYXBpLnYxLkZvbGRlclJlZiI5ChFHZXRGb2xkZXJSZXNwb25zZRIkCgZmb2xkZXIYASABKAsyFC51cGxpbS5hcGkudjEuRm9sZGVyInQKDlRyZWVQYXRoRmlsdGVyEhMKBnByZWZpeBgBIAEoCUgAiAEBEhMKBnN1ZmZpeBgCIAEoCUgBiAEBEhUKCGNvbnRhaW5zGAMgASgJSAKIAQFCCQoHX3ByZWZpeEIJCgdfc3VmZml4QgsKCV9jb250YWlucyKdAQoZVHJlZVVwbG9hZEZpbHRlckNvbmRpdGlvbhIUCgpzbHVnX2V4YWN0GAUgASgJSAASFQoLc2x1Z19wcmVmaXgYBiABKAlIABIVCgtzbHVnX3N1ZmZpeBgHIAEoCUgAEhcKDXNsdWdfY29udGFpbnMYCCABKAlIAEILCgljb25kaXRpb25KBAgBEAJKBAgCEANKBAgDEARKBAgEEAUigQEKEFRyZWVVcGxvYWRGaWx0ZXISOwoKY29uZGl0aW9ucxgBIAMoCzInLnVwbGltLmFwaS52MS5UcmVlVXBsb2FkRmlsdGVyQ29uZGl0aW9uEjAKBG1vZGUYAiABKA4yIi51cGxpbS5hcGkudjEuVHJlZVVwbG9hZEZpbHRlck1vZGUipAEKCFRyZWVOb2RlEiYKBmZvbGRlchgBIAEoCzIULnVwbGltLmFwaS52MS5Gb2xkZXJIABImCgZ1cGxvYWQYAiABKAsyFC51cGxpbS5hcGkudjEuVXBsb2FkSAASFgoObWF0Y2hlc19maWx0ZXIYAyABKAgSKAoIY2hpbGRyZW4YBCADKAsyFi51cGxpbS5hcGkudjEuVHJlZU5vZGVCBgoEaXRlbSKcAgoVTGlzdEZvbGRlclRyZWVSZXF1ZXN0EisKCmJ1Y2tldF9yZWYYASABKAsyFy51cGxpbS5hcGkudjEuQnVja2V0UmVmEicKBmZvbGRlchgCIAEoCzIXLnVwbGltLmFwaS52MS5Gb2xkZXJSZWYSFwoPaW5jbHVkZV91cGxvYWRzGAMgASgIEjYKC3BhdGhfZmlsdGVyGAQgASgLMhwudXBsaW0uYXBpLnYxLlRyZWVQYXRoRmlsdGVySACIAQESOgoNdXBsb2FkX2ZpbHRlchgFIAEoCzIeLnVwbGltLmFwaS52MS5UcmVlVXBsb2FkRmlsdGVySAGIAQFCDgoMX3BhdGhfZmlsdGVyQhAKDl91cGxvYWRfZmlsdGVyIkIKFkxpc3RGb2xkZXJUcmVlUmVzcG9uc2USKAoIY2hpbGRyZW4YASADKAsyFi51cGxpbS5hcGkudjEuVHJlZU5vZGUi5gEKFkJ1bGtVcGRhdGVPcmRlclJlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSTQoHdXBkYXRlcxgCIAMoCzIwLnVwbGltLmFwaS52MS5CdWxrVXBkYXRlT3JkZXJSZXF1ZXN0Lk9yZGVyVXBkYXRlQgq6SAeSAQQIARBkGlAKC09yZGVyVXBkYXRlEhMKCXVwbG9hZF9pZBgBIAEoCUgAEhMKCWZvbGRlcl9pZBgCIAEoCUgAEg0KBW9yZGVyGAMgASgFQggKBnRhcmdldCIZChdCdWxrVXBkYXRlT3JkZXJSZXNwb25zZSJfCg9MaXN0VGFnc1JlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSHwoNY2hpbGRfb2ZfdGFncxgCIAMoCUIIukgFkgECEGQiIAoQTGlzdFRhZ3NSZXNwb25zZRIMCgR0YWdzGAEgAygJInEKFUdldFRleHRDb250ZW50UmVxdWVzdBIrCgpidWNrZXRfcmVmGAEgASgLMhcudXBsaW0uYXBpLnYxLkJ1Y2tldFJlZhIrCgp1cGxvYWRfcmVmGAIgASgLMhcudXBsaW0uYXBpLnYxLlVwbG9hZFJlZiJlChZHZXRUZXh0Q29udGVudFJlc3BvbnNlEiQKBnVwbG9hZBgBIAEoCzIULnVwbGltLmFwaS52MS5VcGxvYWQSDwoHY29udGVudBgCIAEoCRIUCgxjb250ZW50X3R5cGUYAyABKAkibQoQQ3JlYXRlVGV4dFRhcmdldBIRCglkaXJlY3RvcnkYASABKAkSEQoEc2x1ZxgCIAEoCUgAiAEBEhkKDGR5bmFtaWNfc2x1ZxgDIAEoBUgBiAEBQgcKBV9zbHVnQg8KDV9keW5hbWljX3NsdWcizgIKFVNldFRleHRDb250ZW50UmVxdWVzdBIrCgpidWNrZXRfcmVmGAEgASgLMhcudXBsaW0uYXBpLnYxLkJ1Y2tldFJlZhIwCgZjcmVhdGUYAiABKAsyHi51cGxpbS5hcGkudjEuQ3JlYXRlVGV4dFRhcmdldEgAEioKB3JlcGxhY2UYAyABKAsyFy51cGxpbS5hcGkudjEuVXBsb2FkUmVmSAASFQoLdXBzZXJ0X3BhdGgYBCABKAlIABIbCgdjb250ZW50GAUgASgJQgq6SAdyBRiAgIAFEhQKDGNvbnRlbnRfdHlwZRgGIAEoCRIQCghmaWxlbmFtZRgHIAEoCRIMCgR0YWdzGAggAygJEh8KEmludGVncmF0aW9uX2hpZGRlbhgJIAEoCEgBiAEBQggKBnRhcmdldEIVChNfaW50ZWdyYXRpb25faGlkZGVuIj4KFlNldFRleHRDb250ZW50UmVzcG9uc2USJAoGdXBsb2FkGAEgASgLMhQudXBsaW0uYXBpLnYxLlVwbG9hZCKACgobSW50ZXJuYWxVcGRhdGVVcGxvYWRSZXF1ZXN0EhQKDHVwZGF0ZV90b2tlbhgBIAEoCRJTCgp2YWxpZGF0aW9uGAIgASgLMjoudXBsaW0uYXBpLnYxLkludGVybmFsVXBkYXRlVXBsb2FkUmVxdWVzdC5VcGxvYWRWYWxpZGF0aW9uSACIAQESMwoIbWV0YWRhdGEYAyABKAsyHC51cGxpbS5hcGkudjEuVXBsb2FkTWV0YWRhdGFIAYgBARIWCgloYXNfdmlydXMYBCABKAhIAogBARJOCgthaV9tZXRhZGF0YRgFIAEoCzI0LnVwbGltLmFwaS52MS5JbnRlcm5hbFVwZGF0ZVVwbG9hZFJlcXVlc3QuQWlNZXRhZGF0YUgDiAEBEhoKDWhhc190aHVtYm5haWwYBiABKAhIBIgBARIpChx0aHVtYm5haWxfZ2VuZXJhdGlvbl92ZXJzaW9uGAcgASgNSAWIAQESLgohYWlfZGVzY3JpcHRpb25fZ2VuZXJhdGlvbl92ZXJzaW9uGAggASgNSAaIAQESJwoaYWlfdGFnc19nZW5lcmF0aW9uX3ZlcnNpb24YCSABKA1IB4gBARIqCh12aXJ1c19zY2FuX2dlbmVyYXRpb25fdmVyc2lvbhgKIAEoDUgIiAEBEhoKDWRldGVjdGVkX21pbWUYCyABKAlICYgBARIiChVkZXRlY3RlZF9tYWdpY19mb3JtYXQYDCABKAlICogBARIeChFkZXRlY3RlZF9lbmNvZGluZxgNIAEoCUgLiAEBEiUKGG1hdGNoZWRfY29udGVudF90eXBlX3VybhgOIAEoCUgMiAEBEjcKDnJlcHJvY2Vzc2VkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgNiAEBGqUBChBVcGxvYWRWYWxpZGF0aW9uEhsKE3ZhbGlkYXRlZF9taW1lX3R5cGUYAiABKAkSJQoYdmFsaWRhdGVkX2ZpbGVfZXh0ZW5zaW9uGAMgASgJSACIAQESMAoOdmFsaWRhdGVkX3R5cGUYBCABKA4yGC51cGxpbS5hcGkudjEuVXBsb2FkVHlwZUIbChlfdmFsaWRhdGVkX2ZpbGVfZXh0ZW5zaW9uGl8KCkFpTWV0YWRhdGESEwoLZGVzY3JpcHRpb24YASABKAkSFgoOZ2VuZXJhdGVkX3RhZ3MYAiADKAkSFgoJaW5wdXRfcmVmGAMgASgJSACIAQFCDAoKX2lucHV0X3JlZkINCgtfdmFsaWRhdGlvbkILCglfbWV0YWRhdGFCDAoKX2hhc192aXJ1c0IOCgxfYWlfbWV0YWRhdGFCEAoOX2hhc190aHVtYm5haWxCHwodX3RodW1ibmFpbF9nZW5lcmF0aW9uX3ZlcnNpb25CJAoiX2FpX2Rlc2NyaXB0aW9uX2dlbmVyYXRpb25fdmVyc2lvbkIdChtfYWlfdGFnc19nZW5lcmF0aW9uX3ZlcnNpb25CIAoeX3ZpcnVzX3NjYW5fZ2VuZXJhdGlvbl92ZXJzaW9uQhAKDl9kZXRlY3RlZF9taW1lQhgKFl9kZXRlY3RlZF9tYWdpY19mb3JtYXRCFAoSX2RldGVjdGVkX2VuY29kaW5nQhsKGV9tYXRjaGVkX2NvbnRlbnRfdHlwZV91cm5CEQoPX3JlcHJvY2Vzc2VkX2F0Ih4KHEludGVybmFsVXBkYXRlVXBsb2FkUmVzcG9uc2UicAoITWV0YVR5cGUSKgoEdHlwZRgBIAEoDjIcLnVwbGltLmFwaS52MS5NZXRhVXBsb2FkVHlwZRIOCgFuGAIgASgFSACIAQESFQoIZmlsZW5hbWUYAyABKAlIAYgBAUIECgJfbkILCglfZmlsZW5hbWUiWwoYUmVxdWVzdE1ldGFVcGxvYWRSZXF1ZXN0EhQKDHVwZGF0ZV90b2tlbhgBIAEoCRIpCgltZXRhX3R5cGUYAiADKAsyFi51cGxpbS5hcGkudjEuTWV0YVR5cGUicQoKTWV0YVVwbG9hZBIkCgR0eXBlGAEgASgLMhYudXBsaW0uYXBpLnYxLk1ldGFUeXBlEhMKC21ldGFkYXRhX2lkGAIgASgJEhIKCnVwbG9hZF91cmwYAyABKAkSFAoMZG93bmxvYWRfdXJsGAQgASgJIksKGVJlcXVlc3RNZXRhVXBsb2FkUmVzcG9uc2USLgoMbWV0YV91cGxvYWRzGAEgAygLMhgudXBsaW0uYXBpLnYxLk1ldGFVcGxvYWQiRQoYQ29uZmlybU1ldGFVcGxvYWRSZXF1ZXN0EhQKDHVwZGF0ZV90b2tlbhgBIAEoCRITCgttZXRhZGF0YV9pZBgCIAMoCSIbChlDb25maXJtTWV0YVVwbG9hZFJlc3BvbnNlIjMKG0dldFByb2Nlc3NpbmdDb250ZXh0UmVxdWVzdBIUCgx1cGRhdGVfdG9rZW4YASABKAkihwQKHEdldFByb2Nlc3NpbmdDb250ZXh0UmVzcG9uc2USGwoTc291cmNlX2Rvd25sb2FkX3VybBgBIAEoCRI5ChVzb3VyY2VfdXJsX2V4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKGGFpX2Rlc2NyaXB0aW9uX2lucHV0X3JlZhgDIAEoCUgAiAEBEjUKD2ludGVudF9tZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARJCCg5mb2xkZXJfY29udGV4dBgIIAEoCzIlLnVwbGltLmFwaS52MS5Gb2xkZXJQcm9jZXNzaW5nQ29udGV4dEgCiAEBEkMKEHRodW1ibmFpbF9wYXJzZXIYCSABKAsyJC51cGxpbS5hcGkudjEuVGh1bWJuYWlsUGFyc2VyQ29udGV4dEgDiAEBEkMKF2NhbmRpZGF0ZV9jb250ZW50X3R5cGVzGAogAygLMiIudXBsaW0uYXBpLnYxLkNvbnRlbnRUeXBlQ2FuZGlkYXRlQhsKGV9haV9kZXNjcmlwdGlvbl9pbnB1dF9yZWZCEgoQX2ludGVudF9tZXRhZGF0YUIRCg9fZm9sZGVyX2NvbnRleHRCEwoRX3RodW1ibmFpbF9wYXJzZXJKBAgGEAdKBAgHEAgiswEKFENvbnRlbnRUeXBlQ2FuZGlkYXRlEgoKAmlkGAEgASgJEgsKA3VybhgCIAEoCRIYChBtYXRjaGVyX3ByaW9yaXR5GAMgASgFEg8KB21hdGNoZXIYBCABKAwSGAoQZGlzcGF0Y2hfdG9fcG9vbBgFIAEoCBIUCgdwb29sX2lkGAYgASgJSACIAQESGwoTY29udGVudF90eXBlX2NvbmZpZxgHIAEoDEIKCghfcG9vbF9pZCJ9ChZUaHVtYm5haWxQYXJzZXJDb250ZXh0EhMKC3F1ZXVlX3Rva2VuGAEgASgJEg8KB3Bvb2xfaWQYAiABKAkSGQoPY29udGVudF90eXBlX2lkGAMgASgJSAASGAoOYnVja2V0X3R5cGVfaWQYBCABKAlIAEIICgZzb3VyY2UidAoXRm9sZGVyUHJvY2Vzc2luZ0NvbnRleHQSEQoJZm9sZGVyX2lkGAEgASgJEhMKC2ZvbGRlcl9wYXRoGAIgASgJEjEKBWZpbGVzGAMgAygLMiIudXBsaW0uYXBpLnYxLkZvbGRlclByb2Nlc3NpbmdGaWxlIncKFEZvbGRlclByb2Nlc3NpbmdGaWxlEhEKCXVwbG9hZF9pZBgBIAEoCRIQCghmaWxlbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhYKCnNpemVfYnl0ZXMYBCABKANCAjABEhQKDGRvd25sb2FkX3VybBgFIAEoCSK8AQoRQ29weVVwbG9hZFJlcXVlc3QSKwoKYnVja2V0X3JlZhgBIAEoCzIXLnVwbGltLmFwaS52MS5CdWNrZXRSZWYSGgoJdXBsb2FkX2lkGAIgASgJQge6SARyAhABEjMKEmRlc3RpbmF0aW9uX2ZvbGRlchgDIAEoCzIXLnVwbGltLmFwaS52MS5Gb2xkZXJSZWYSFQoEc2x1ZxgEIAEoCUIHukgEcgIQARIMCgR0YWdzGAYgAygJSgQIBRAGIjoKEkNvcHlVcGxvYWRSZXNwb25zZRIkCgZ1cGxvYWQYASABKAsyFC51cGxpbS5hcGkudjEuVXBsb2FkIqgBChFNb3ZlVXBsb2FkUmVxdWVzdBIrCgpidWNrZXRfcmVmGAEgASgLMhcudXBsaW0uYXBpLnYxLkJ1Y2tldFJlZhIaCgl1cGxvYWRfaWQYAiABKAlCB7pIBHICEAESMwoSZGVzdGluYXRpb25fZm9sZGVyGAMgASgLMhcudXBsaW0uYXBpLnYxLkZvbGRlclJlZhIVCgRzbHVnGAQgASgJQge6SARyAhABIjoKEk1vdmVVcGxvYWRSZXNwb25zZRIkCgZ1cGxvYWQYASABKAsyFC51cGxpbS5hcGkudjEuVXBsb2FkInwKIENyZWF0ZVJlbmRlcmVyQWNjZXNzVG9rZW5SZXF1ZXN0EisKCmJ1Y2tldF9yZWYYASABKAsyFy51cGxpbS5hcGkudjEuQnVja2V0UmVmEisKCnVwbG9hZF9yZWYYAiABKAsyFy51cGxpbS5hcGkudjEuVXBsb2FkUmVmImIKIUNyZWF0ZVJlbmRlcmVyQWNjZXNzVG9rZW5SZXNwb25zZRINCgV0b2tlbhgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCrlAwoKVXBsb2FkVHlwZRIbChdVUExPQURfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVVQTE9BRF9UWVBFX0lNQUdFEAESFAoQVVBMT0FEX1RZUEVfQ09ERRADEhUKEVVQTE9BRF9UWVBFX0FVRElPEAQSFQoRVVBMT0FEX1RZUEVfVklERU8QBRIUChBVUExPQURfVFlQRV9URVhUEAYSGAoUVVBMT0FEX1RZUEVfTUFSS0RPV04QBxITCg9VUExPQURfVFlQRV9QREYQCBIXChNVUExPQURfVFlQRV9BUkNISVZFEAkSEgoOVVBMT0FEX1RZUEVfM0QQChIaChZVUExPQURfVFlQRV9FWEVDVVRBQkxFEAsSGAoUVVBMT0FEX1RZUEVfRE9DVU1FTlQQDBIbChdVUExPQURfVFlQRV9TUFJFQURTSEVFVBANEhwKGFVQTE9BRF9UWVBFX1BSRVNFTlRBVElPThAOEhQKEFVQTE9BRF9UWVBFX0ZPTlQQDxIUChBVUExPQURfVFlQRV9MSU5LEBASEwoPVVBMT0FEX1RZUEVfQ1JUEBESIwofVVBMT0FEX1RZUEVfSU5URUdSQVRJT05fQVJDSElWRRASEhYKEVVQTE9BRF9UWVBFX09USEVSEOgHKlcKFFRyZWVVcGxvYWRGaWx0ZXJNb2RlEh8KG1RSRUVfVVBMT0FEX0ZJTFRFUl9NT0RFX0FORBAAEh4KGlRSRUVfVVBMT0FEX0ZJTFRFUl9NT0RFX09SEAEqwwIKDk1ldGFVcGxvYWRUeXBlEh4KGk1ldGFVcGxvYWRUeXBlX1VOU1BFQ0lGSUVEEAASIgoeTWV0YVVwbG9hZFR5cGVfVEhVTUJOQUlMX0xJR0hUEAESIQodTWV0YVVwbG9hZFR5cGVfVEhVTUJOQUlMX0RBUksQBhIjCh9NZXRhVXBsb2FkVHlwZV9WSURFT19USU1FTElORV9OEAISIAocTWVkaWFVcGxvYWRUeXBlX0FSQ0hJVkVfVFJFRRADEh0KGU1ldGFVcGxvYWRUeXBlX0FJX0NPTlRFTlQQBBIfChtNZXRhVXBsb2FkVHlwZV9BUkNISVZFX0ZJTEUQBRIiCh5NZXRhVXBsb2FkVHlwZV9SRU5ERVJFUl9DT05GSUcQBxIfChtNZXRhVXBsb2FkVHlwZV9JTUFHRV9DT01QQVQQCDLkLgoUQnVja2V0VXBsb2Fkc1NlcnZpY2US/AEKC0xpc3RVcGxvYWRzEiAudXBsaW0uYXBpLnYxLkxpc3RVcGxvYWRzUmVxdWVzdBohLnVwbGltLmFwaS52MS5MaXN0VXBsb2Fkc1Jlc3BvbnNlIqcBkAIBukebARIMTGlzdCB1cGxvYWRzGmxMaXN0cyB1cGxvYWRzIGluIGEgYnVja2V0IHdpdGggb3B0aW9uYWwgZmlsdGVyaW5nIGJ5IHBhdGgsIGRhdGUsIGFuZCB0YWdzLiBTdXBwb3J0cyBjdXJzb3ItYmFzZWQgcGFnaW5hdGlvbi5aHQobCgZPQXV0aDISEQoPdXBsOmJ1Y2tldDpyZWFkwrIEAQoSgQIKEkdldFVwbG9hZEJyZWFrZG93bhInLnVwbGltLmFwaS52MS5HZXRVcGxvYWRCcmVha2Rvd25SZXF1ZXN0GigudXBsaW0uYXBpLnYxLkdldFVwbG9hZEJyZWFrZG93blJlc3BvbnNlIpcBkAIBukeLARIUR2V0IHVwbG9hZCBicmVha2Rvd24aVFJldHJpZXZlcyBhIGJyZWFrZG93biBvZiB1cGxvYWRzIGJ5IG1vbnRoIGFuZCB5ZWFyLCBpbmNsdWRpbmcgY291bnRzIGFuZCB0b3RhbCBzaXplLlodChsKBk9BdXRoMhIRCg91cGw6YnVja2V0OnJlYWTCsgQBChKxAgoMQ3JlYXRlVXBsb2FkEiEudXBsaW0uYXBpLnYxLkNyZWF0ZVVwbG9hZFJlcXVlc3QaIi51cGxpbS5hcGkudjEuQ3JlYXRlVXBsb2FkUmVzcG9uc2Ui2QG6R8wBEg1DcmVhdGUgdXBsb2FkGpgBRmluYWxpemVzIGFuIHVwbG9hZCBhZnRlciB0aGUgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZCB0byB0aGUgcHJlc2lnbmVkIFVSTC4gU3VwcG9ydHMgY3JlYXRpbmcgbmV3IHVwbG9hZHMsIHJlcGxhY2luZyBleGlzdGluZyBvbmVzLCBvciB1cHNlcnRpbmcgYnkgcGF0aC5aIAoeCgZPQXV0aDISFAoSdXBsOnVwbG9hZHM6Y3JlYXRlwrIEARTQsgQBErwBCglHZXRVcGxvYWQSHi51cGxpbS5hcGkudjEuR2V0VXBsb2FkUmVxdWVzdBofLnVwbGltLmFwaS52MS5HZXRVcGxvYWRSZXNwb25zZSJukAIBukdjEgpHZXQgdXBsb2FkGjZSZXRyaWV2ZXMgZGV0YWlscyBmb3IgYSBzcGVjaWZpYyB1cGxvYWQgYnkgSUQgb3IgcGF0aC5aHQobCgZPQXV0aDISEQoPdXBsOmJ1Y2tldDpyZWFkwrIEAQoSjwIKEUdldFVwbG9hZE1ldGFkYXRhEh4udXBsaW0uYXBpLnYxLkdldFVwbG9hZFJlcXVlc3QaJy51cGxpbS5hcGkudjEuR2V0VXBsb2FkTWV0YWRhdGFSZXNwb25zZSKwAZACAbpHpAESE0dldCB1cGxvYWQgbWV0YWRhdGEablJldHJpZXZlcyBkZXRhaWxlZCB0ZWNobmljYWwgbWV0YWRhdGEgZm9yIGFuIHVwbG9hZCBpbmNsdWRpbmcgZGltZW5zaW9ucywgZHVyYXRpb24sIGNvZGVjIGluZm8sIGFuZCBFWElGIGRhdGEuWh0KGwoGT0F1dGgyEhEKD3VwbDpidWNrZXQ6cmVhZMKyBAEKEuABCgxVcGRhdGVVcGxvYWQSIS51cGxpbS5hcGkudjEuVXBkYXRlVXBsb2FkUmVxdWVzdBoiLnVwbGltLmFwaS52MS5VcGRhdGVVcGxvYWRSZXNwb25zZSKIAbpHfBINVXBkYXRlIHVwbG9hZBpJVXBkYXRlcyB1cGxvYWQgcHJvcGVydGllcyBzdWNoIGFzIHRhZ3MsIHBhdGgsIHNsdWcsIGFuZCBwcml2YWN5IHNldHRpbmdzLlogCh4KBk9BdXRoMhIUChJ1cGw6dXBsb2FkczptYW5hZ2XCsgQBC9CyBAESzwEKDERlbGV0ZVVwbG9hZBIhLnVwbGltLmFwaS52MS5EZWxldGVVcGxvYWRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IoMBukd3Eg1EZWxldGUgdXBsb2FkGkRQZXJtYW5lbnRseSBkZWxldGVzIGFuIHVwbG9hZCBhbmQgaXRzIGFzc29jaWF0ZWQgZmlsZXMgZnJvbSBzdG9yYWdlLlogCh4KBk9BdXRoMhIUChJ1cGw6dXBsb2FkczptYW5hZ2XCsgQBC9CyBAESmAIKDVJlcXVlc3RVcGxvYWQSIi51cGxpbS5hcGkudjEuUmVxdWVzdFVwbG9hZFJlcXVlc3QaIy51cGxpbS5hcGkudjEuUmVxdWVzdFVwbG9hZFJlc3BvbnNlIr0BukewARIOUmVxdWVzdCB1cGxvYWQafFJlcXVlc3RzIGEgcHJlc2lnbmVkIFVSTCBmb3IgdXBsb2FkaW5nIGEgZmlsZS4gUmV0dXJucyBlaXRoZXIgYSBkaXJlY3QgdXBsb2FkIFVSTCBvciBtdWx0aXBhcnQgdXBsb2FkIHBhcnRzIGZvciBsYXJnZSBmaWxlcy5aIAoeCgZPQXV0aDISFAoSdXBsOnVwbG9hZHM6Y3JlYXRlwrIEARTQsgQBEp0CChhDcmVhdGVTaWduZWRVcGxvYWRJbnRlbnQSLS51cGxpbS5hcGkudjEuQ3JlYXRlU2lnbmVkVXBsb2FkSW50ZW50UmVxdWVzdBouLnVwbGltLmFwaS52MS5DcmVhdGVTaWduZWRVcGxvYWRJbnRlbnRSZXNwb25zZSKhAbpHlAESG0NyZWF0ZSBzaWduZWQgdXBsb2FkIGludGVudBpTQ3JlYXRlcyBhIHNpZ25lZCB1cGxvYWQgaW50ZW50IHRva2VuIHdpdGggb3B0aW9uYWwgdXBsb2FkIGNvbnN0cmFpbnRzIGFuZCBtZXRhZGF0YS5aIAoeCgZPQXV0aDISFAoSdXBsOnVwbG9hZHM6Y3JlYXRlwrIEARTQsgQBEowCChNSZXF1ZXN0U2lnbmVkVXBsb2FkEigudXBsaW0uYXBpLnYxLlJlcXVlc3RTaWduZWRVcGxvYWRSZXF1ZXN0GiMudXBsaW0uYXBpLnYxLlJlcXVlc3RVcGxvYWRSZXNwb25zZSKlAbpHnQESFVJlcXVlc3Qgc2lnbmVkIHVwbG9hZBqDAVJlcXVlc3RzIGEgcHJlc2lnbmVkIHVwbG9hZCBVUkwgdXNpbmcgYSBzaWduZWQgdXBsb2FkIGludGVudCB0b2tlbi4gQXV0aG9yaXphdGlvbiBpcyB2aWEgdGhlIHNpZ25lZCBpbnRlbnQgdG9rZW4sIG5vdCBPQXV0aCBzY29wZXMuuLIEARKdAgoUQ29tcGxldGVTaWduZWRVcGxvYWQSKS51cGxpbS5hcGkudjEuQ29tcGxldGVTaWduZWRVcGxvYWRSZXF1ZXN0GioudXBsaW0uYXBpLnYxLkNvbXBsZXRlU2lnbmVkVXBsb2FkUmVzcG9uc2UirQG6R6UBEhZDb21wbGV0ZSBzaWduZWQgdXBsb2FkGooBQ29tcGxldGVzIGFuZCBwZXJzaXN0cyBhbiB1cGxvYWQgY3JlYXRlZCB2aWEgYSBzaWduZWQgdXBsb2FkIGludGVudCB0b2tlbi4gQXV0aG9yaXphdGlvbiBpcyB2aWEgdGhlIHNpZ25lZCBpbnRlbnQgdG9rZW4sIG5vdCBPQXV0aCBzY29wZXMuuLIEARKQAgoWUmVxdWVzdFVwbG9hZExpc3RQYXJ0cxIrLnVwbGltLmFwaS52MS5SZXF1ZXN0VXBsb2FkTGlzdFBhcnRzUmVxdWVzdBosLnVwbGltLmFwaS52MS5SZXF1ZXN0VXBsb2FkTGlzdFBhcnRzUmVzcG9uc2UimgG6R40BEhFMaXN0IHVwbG9hZCBwYXJ0cxpWTGlzdHMgdGhlIHBhcnRzIHRoYXQgaGF2ZSBiZWVuIHVwbG9hZGVkIGZvciBhIG11bHRpcGFydCB1cGxvYWQsIGluY2x1ZGluZyB0aGVpciBFVGFncy5aIAoeCgZPQXV0aDISFAoSdXBsOnVwbG9hZHM6Y3JlYXRlwrIEARTQsgQBEv8BChRSZXF1ZXN0VXBsb2FkR2V0UGFydBIpLnVwbGltLmFwaS52MS5SZXF1ZXN0VXBsb2FkR2V0UGFydFJlcXVlc3QaKi51cGxpbS5hcGkudjEuUmVxdWVzdFVwbG9hZEdldFBhcnRSZXNwb25zZSKPAbpHggESE0dldCB1cGxvYWQgcGFydCBVUkwaSUdldHMgYSBwcmVzaWduZWQgVVJMIGZvciB1cGxvYWRpbmcgYSBzcGVjaWZpYyBwYXJ0IG9mIGEgbXVsdGlwYXJ0IHVwbG9hZC5aIAoeCgZPQXV0aDISFAoSdXBsOnVwbG9hZHM6Y3JlYXRlwrIEARTQsgQBEoUCChRHZXRVcGxvYWREb3dubG9hZFVybBIpLnVwbGltLmFwaS52MS5HZXRVcGxvYWREb3dubG9hZFVybFJlcXVlc3QaKi51cGxpbS5hcGkudjEuR2V0VXBsb2FkRG93bmxvYWRVcmxSZXNwb25zZSKVAbpHjAESEUdldCBkb3dubG9hZCBVUkxzGlhHZXRzIHNpZ25lZCBkb3dubG9hZCBVUkxzIGZvciBvbmUgb3IgbW9yZSB1cGxvYWRzLCBpbmNsdWRpbmcgdGh1bWJuYWlsIGFuZCBjb250ZW50IFVSTHMuWh0KGwoGT0F1dGgyEhEKD3VwbDpidWNrZXQ6cmVhZMKyBAEKEvEBChFMaXN0VXBsb2FkSGlzdG9yeRImLnVwbGltLmFwaS52MS5MaXN0VXBsb2FkSGlzdG9yeVJlcXVlc3QaJy51cGxpbS5hcGkudjEuTGlzdFVwbG9hZEhpc3RvcnlSZXNwb25zZSKKAZACAbpHfxITTGlzdCB1cGxvYWQgaGlzdG9yeRpJTGlzdHMgaGlzdG9yaWNhbCB2ZXJzaW9ucyBvZiBhbiB1cGxvYWQsIGNyZWF0ZWQgd2hlbiBjb250ZW50IGlzIHJlcGxhY2VkLlodChsKBk9BdXRoMhIRCg91cGw6YnVja2V0OnJlYWTCsgQBChL/AQoXR2V0VXBsb2FkSGlzdG9yeUNvbnRlbnQSLC51cGxpbS5hcGkudjEuR2V0VXBsb2FkSGlzdG9yeUNvbnRlbnRSZXF1ZXN0Gi0udXBsaW0uYXBpLnYxLkdldFVwbG9hZEhpc3RvcnlDb250ZW50UmVzcG9uc2UihgGQAgG6R3sSF0dldCBoaXN0b3J5IGNvbnRlbnQgVVJMGkFHZXRzIGEgc2lnbmVkIGRvd25sb2FkIFVSTCBmb3IgYSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgYW4gdXBsb2FkLlodChsKBk9BdXRoMhIRCg91cGw6YnVja2V0OnJlYWTCsgQBChL8AQoYUmVzdG9yZVVwbG9hZEZyb21IaXN0b3J5Ei0udXBsaW0uYXBpLnYxLlJlc3RvcmVVcGxvYWRGcm9tSGlzdG9yeVJlcXVlc3QaLi51cGxpbS5hcGkudjEuUmVzdG9yZVVwbG9hZEZyb21IaXN0b3J5UmVzcG9uc2UigAG6R3QSFFJlc3RvcmUgZnJvbSBoaXN0b3J5GjpSZXN0b3JlcyBhbiB1cGxvYWQgdG8gYSBwcmV2aW91cyB2ZXJzaW9uIGZyb20gaXRzIGhpc3RvcnkuWiAKHgoGT0F1dGgyEhQKEnVwbDp1cGxvYWRzOm1hbmFnZcKyBAEL0LIEARLfAQoTRGVsZXRlVXBsb2FkSGlzdG9yeRIoLnVwbGltLmFwaS52MS5EZWxldGVVcGxvYWRIaXN0b3J5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSKFAbpHeRIVRGVsZXRlIHVwbG9hZCBoaXN0b3J5Gj5EZWxldGVzIHNwZWNpZmljIGhpc3RvcnkgZW50cmllcyBvciBhbGwgaGlzdG9yeSBmb3IgYW4gdXBsb2FkLlogCh4KBk9BdXRoMhIUChJ1cGw6dXBsb2FkczptYW5hZ2XCsgQBC9CyBAESggIKDkdldFRleHRDb250ZW50EiMudXBsaW0uYXBpLnYxLkdldFRleHRDb250ZW50UmVxdWVzdBokLnVwbGltLmFwaS52MS5HZXRUZXh0Q29udGVudFJlc3BvbnNlIqQBkAIBukeYARIQR2V0IHRleHQgY29udGVudBplUmV0cmlldmVzIHRoZSB0ZXh0IGNvbnRlbnQgb2YgYW4gdXBsb2FkIGlubGluZS4gRm9yIGJpbmFyeSBjb250ZW50LCB1c2UgR2V0VXBsb2FkRG93bmxvYWRVcmwgaW5zdGVhZC5aHQobCgZPQXV0aDISEQoPdXBsOmJ1Y2tldDpyZWFkwrIEAQoSqgIKDlNldFRleHRDb250ZW50EiMudXBsaW0uYXBpLnYxLlNldFRleHRDb250ZW50UmVxdWVzdBokLnVwbGltLmFwaS52MS5TZXRUZXh0Q29udGVudFJlc3BvbnNlIswBuke/ARIQU2V0IHRleHQgY29udGVudBqIAUNyZWF0ZXMgb3IgdXBkYXRlcyB0ZXh0IGNvbnRlbnQgaW5saW5lLiBTdXBwb3J0cyBjcmVhdGUsIHJlcGxhY2UsIG9yIHVwc2VydCBtb2Rlcy4gRm9yIGJpbmFyeSB1cGxvYWRzLCB1c2UgUmVxdWVzdFVwbG9hZCArIENyZWF0ZVVwbG9hZC5aIAoeCgZPQXV0aDISFAoSdXBsOnVwbG9hZHM6Y3JlYXRlwrIEARTQsgQBEoACCgpDb3B5VXBsb2FkEh8udXBsaW0uYXBpLnYxLkNvcHlVcGxvYWRSZXF1ZXN0GiAudXBsaW0uYXBpLnYxLkNvcHlVcGxvYWRSZXNwb25zZSKuAbpHoQESC0NvcHkgdXBsb2FkGnBDcmVhdGVzIGEgY29weSBvZiBhbiB1cGxvYWQgYXQgYSBzcGVjaWZpZWQgZGVzdGluYXRpb24uIFByZXNlcnZlcyBtZXRhZGF0YSBhbmQgdGh1bWJuYWlscyB3aXRob3V0IHJlLXByb2Nlc3NpbmcuWiAKHgoGT0F1dGgyEhQKEnVwbDp1cGxvYWRzOmNyZWF0ZcKyBAEU0LIEARLSAQoKTW92ZVVwbG9hZBIfLnVwbGltLmFwaS52MS5Nb3ZlVXBsb2FkUmVxdWVzdBogLnVwbGltLmFwaS52MS5Nb3ZlVXBsb2FkUmVzcG9uc2UigAG6R3QSC01vdmUgdXBsb2FkGkRNb3ZlcyBhbiB1cGxvYWQgdG8gYSBuZXcgZGVzdGluYXRpb24gZm9sZGVyIGFuZC9vciBjaGFuZ2VzIGl0cyBzbHVnLlofCh0KBk9BdXRoMhITChF1cGw6YnVja2V0Om1hbmFnZcKyBAEL0LIEARKmAgoZQ3JlYXRlUmVuZGVyZXJBY2Nlc3NUb2tlbhIuLnVwbGltLmFwaS52MS5DcmVhdGVSZW5kZXJlckFjY2Vzc1Rva2VuUmVxdWVzdBovLnVwbGltLmFwaS52MS5DcmVhdGVSZW5kZXJlckFjY2Vzc1Rva2VuUmVzcG9uc2UipwG6R54BEhxDcmVhdGUgcmVuZGVyZXIgYWNjZXNzIHRva2VuGl9DcmVhdGVzIGEgc2hvcnQtbGl2ZWQgSldUIHRva2VuIGZvciBhY2Nlc3NpbmcgYSByZW5kZXJlciBhcmNoaXZlIHVwbG9hZCB2aWEgdGhlIHJlbmRlcmVyIHByb3h5LlodChsKBk9BdXRoMhIRCg91cGw6YnVja2V0OnJlYWTCsgQBCjKEDQoUQnVja2V0Rm9sZGVyc1NlcnZpY2US3wEKC0xpc3RGb2xkZXJzEiAudXBsaW0uYXBpLnYxLkxpc3RGb2xkZXJzUmVxdWVzdBohLnVwbGltLmFwaS52MS5MaXN0Rm9sZGVyc1Jlc3BvbnNlIooBkAIBukd/EgxMaXN0IGZvbGRlcnMaUExpc3RzIGZvbGRlcnMgaW4gYSBidWNrZXQgZGlyZWN0b3J5LCBvcHRpb25hbGx5IGluY2x1ZGluZyBicmVhZGNydW1iIG5hdmlnYXRpb24uWh0KGwoGT0F1dGgyEhEKD3VwbDpidWNrZXQ6cmVhZMKyBAEKEuQBCglHZXRGb2xkZXISHi51cGxpbS5hcGkudjEuR2V0Rm9sZGVyUmVxdWVzdBofLnVwbGltLmFwaS52MS5HZXRGb2xkZXJSZXNwb25zZSKVAZACAbpHiQESCkdldCBmb2xkZXIaXFJldHJpZXZlcyBkZXRhaWxzIGZvciBhIHNwZWNpZmljIGZvbGRlciBpbmNsdWRpbmcgYWNjZXNzIHNldHRpbmdzIGFuZCBzaGFyaW5nIGNvbmZpZ3VyYXRpb24uWh0KGwoGT0F1dGgyEhEKD3VwbDpidWNrZXQ6cmVhZMKyBAEKEtkBCgxDcmVhdGVGb2xkZXISIS51cGxpbS5hcGkudjEuQ3JlYXRlRm9sZGVyUmVxdWVzdBoiLnVwbGltLmFwaS52MS5DcmVhdGVGb2xkZXJSZXNwb25zZSKBAbpHdRINQ3JlYXRlIGZvbGRlchpCQ3JlYXRlcyBhIG5ldyBmb2xkZXIgd2l0aGluIGEgYnVja2V0IGF0IHRoZSBzcGVjaWZpZWQgcGFyZW50IHBhdGguWiAKHgoGT0F1dGgyEhQKEnVwbDp1cGxvYWRzOmNyZWF0ZcKyBAEU0LIEARL6AQoMVXBkYXRlRm9sZGVyEiEudXBsaW0uYXBpLnYxLlVwZGF0ZUZvbGRlclJlcXVlc3QaIi51cGxpbS5hcGkudjEuVXBkYXRlRm9sZGVyUmVzcG9uc2UiogG6R5UBEg1VcGRhdGUgZm9sZGVyGmNVcGRhdGVzIGZvbGRlciBwcm9wZXJ0aWVzIGluY2x1ZGluZyBuYW1lLCBjb2xvciwgZGlyZWN0b3J5IGxpc3RpbmcgdmlzaWJpbGl0eSwgYW5kIGFjY2VzcyBzZXR0aW5ncy5aHwodCgZPQXV0aDISEwoRdXBsOmJ1Y2tldDptYW5hZ2XCsgQBC9CyBAESuwEKDERlbGV0ZUZvbGRlchIhLnVwbGltLmFwaS52MS5EZWxldGVGb2xkZXJSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5InC6R2QSDURlbGV0ZSBmb2xkZXIaMlBlcm1hbmVudGx5IGRlbGV0ZXMgYSBmb2xkZXIgYW5kIGFsbCBpdHMgY29udGVudHMuWh8KHQoGT0F1dGgyEhMKEXVwbDpidWNrZXQ6bWFuYWdlwrIEAQvQsgQBEpUCCg5MaXN0Rm9sZGVyVHJlZRIjLnVwbGltLmFwaS52MS5MaXN0Rm9sZGVyVHJlZVJlcXVlc3QaJC51cGxpbS5hcGkudjEuTGlzdEZvbGRlclRyZWVSZXNwb25zZSK3AZACAbpHqwESEExpc3QgZm9sZGVyIHRyZWUaeFJlY3Vyc2l2ZWx5IGxpc3RzIGFsbCBkZXNjZW5kYW50IGZvbGRlcnMgKGFuZCBvcHRpb25hbGx5IHVwbG9hZHMpIGFzIGEgdHJlZS4gU3VwcG9ydHMgZmlsdGVyaW5nIGJ5IHBhdGggYW5kIHVwbG9hZCBzbHVnLlodChsKBk9BdXRoMhIRCg91cGw6YnVja2V0OnJlYWTCsgQBChLzAQoPQnVsa1VwZGF0ZU9yZGVyEiQudXBsaW0uYXBpLnYxLkJ1bGtVcGRhdGVPcmRlclJlcXVlc3QaJS51cGxpbS5hcGkudjEuQnVsa1VwZGF0ZU9yZGVyUmVzcG9uc2UikgG6R4UBEhFCdWxrIHVwZGF0ZSBvcmRlchpPVXBkYXRlcyB0aGUgc29ydCBvcmRlciBmb3IgbXVsdGlwbGUgZm9sZGVycyBhbmQvb3IgdXBsb2FkcyBpbiBhIHNpbmdsZSByZXF1ZXN0LlofCh0KBk9BdXRoMhITChF1cGw6YnVja2V0Om1hbmFnZcKyBAEL0LIEATL7AQoRQnVja2V0VGFnc1NlcnZpY2US5QEKCExpc3RUYWdzEh0udXBsaW0uYXBpLnYxLkxpc3RUYWdzUmVxdWVzdBoeLnVwbGltLmFwaS52MS5MaXN0VGFnc1Jlc3BvbnNlIpkBkAIBukeNARIJTGlzdCB0YWdzGmFMaXN0cyBhbGwgdGFncyB1c2VkIGluIGEgYnVja2V0LCBvcHRpb25hbGx5IGZpbHRlcmVkIHRvIHNob3cgY2hpbGQgdGFncyBvZiBzcGVjaWZpZWQgcGFyZW50IHRhZ3MuWh0KGwoGT0F1dGgyEhEKD3VwbDpidWNrZXQ6cmVhZMKyBAEKMoIKChZJbnRlcm5hbFVwbG9hZHNTZXJ2aWNlEqYCCgxVcGRhdGVVcGxvYWQSKS51cGxpbS5hcGkudjEuSW50ZXJuYWxVcGRhdGVVcGxvYWRSZXF1ZXN0GioudXBsaW0uYXBpLnYxLkludGVybmFsVXBkYXRlVXBsb2FkUmVzcG9uc2UivgG6R7EBEhhVcGRhdGUgdXBsb2FkIChpbnRlcm5hbCkaggFVcGRhdGVzIGFuIHVwbG9hZCB3aXRoIHByb2Nlc3NpbmcgcmVzdWx0cyBpbmNsdWRpbmcgdmFsaWRhdGlvbiwgbWV0YWRhdGEsIEFJIGFuYWx5c2lzLCBhbmQgdmlydXMgc2Nhbi4gVXNlZCBieSB0aGUgbWVkaWEgcGlwZWxpbmUuWhAKDgoKQmVhcmVyQXV0aBIAwrIEAWbIsgQBEqUCChFSZXF1ZXN0TWV0YVVwbG9hZBImLnVwbGltLmFwaS52MS5SZXF1ZXN0TWV0YVVwbG9hZFJlcXVlc3QaJy51cGxpbS5hcGkudjEuUmVxdWVzdE1ldGFVcGxvYWRSZXNwb25zZSK+AbpHsQESHlJlcXVlc3QgbWV0YSB1cGxvYWQgKGludGVybmFsKRp9Q3JlYXRlcyBwcmVzaWduZWQgdXBsb2FkIFVSTHMgZm9yIG1ldGEgdXBsb2FkcyBzdWNoIGFzIHRodW1ibmFpbHMsIGFyY2hpdmUgdHJlZXMsIGFuZCBBSSBjb250ZW50LiBVc2VkIGJ5IHRoZSBtZWRpYSBwaXBlbGluZS5aEAoOCgpCZWFyZXJBdXRoEgDCsgQBZsiyBAESsAIKEUNvbmZpcm1NZXRhVXBsb2FkEiYudXBsaW0uYXBpLnYxLkNvbmZpcm1NZXRhVXBsb2FkUmVxdWVzdBonLnVwbGltLmFwaS52MS5Db25maXJtTWV0YVVwbG9hZFJlc3BvbnNlIskBuke8ARIeQ29uZmlybSBtZXRhIHVwbG9hZCAoaW50ZXJuYWwpGocBQ29uZmlybXMgdGhhdCBtZXRhIHVwbG9hZHMgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZCBhbmQgc2hvdWxkIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc291cmNlIHVwbG9hZC4gVXNlZCBieSB0aGUgbWVkaWEgcGlwZWxpbmUuWhAKDgoKQmVhcmVyQXV0aBIAwrIEAWbIsgQBEuMCChRHZXRQcm9jZXNzaW5nQ29udGV4dBIpLnVwbGltLmFwaS52MS5HZXRQcm9jZXNzaW5nQ29udGV4dFJlcXVlc3QaKi51cGxpbS5hcGkudjEuR2V0UHJvY2Vzc2luZ0NvbnRleHRSZXNwb25zZSLzAbpH5gESIUdldCBwcm9jZXNzaW5nIGNvbnRleHQgKGludGVybmFsKRquAVJldHJpZXZlcyB0aGUgcHJvY2Vzc2luZyBjb250ZXh0IGZvciBhbiB1cGxvYWQgaW5jbHVkaW5nIHNvdXJjZSBkb3dubG9hZCBVUkwsIGludGVudCBtZXRhZGF0YSwgZm9sZGVyIGNvbnRleHQsIGFuZCB0aHVtYm5haWwgcGFyc2VyIGNvbmZpZ3VyYXRpb24uIFVzZWQgYnkgdGhlIG1lZGlhIHBpcGVsaW5lLloQCg4KCkJlYXJlckF1dGgSAMKyBAFmyLIEAUKvAQoQY29tLnVwbGltLmFwaS52MUIMVXBsb2Fkc1Byb3RvUAFaO2dpdGh1Yi5jb20veGVvbnIvdXBsLWltLWFwaS9wcm90by9nZW4vdXBsaW0vYXBpL3YxO3VwbGltX3YxogIDVUFYqgIMVXBsaW0uQXBpLlYxygIMVXBsaW1cQXBpXFYx4gIYVXBsaW1cQXBpXFYxXEdQQk1ldGFkYXRh6gIOVXBsaW06OkFwaTo6VjFiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_field_mask, file_google_protobuf_struct, file_uplim_api_v1_buckets, file_buf_validate_validate, file_uplim_api_v1_internal, file_uplim_api_v1_metadata, file_uplim_api_v1_upload_aliases, file_uplim_api_v1_integration_types, file_gnostic_openapi_v3_annotations]);
28
+
29
+ /**
30
+ * Basic user information for attribution on uploads
31
+ *
32
+ * @generated from message uplim.api.v1.BasicUser
33
+ */
34
+ export type BasicUser = Message<"uplim.api.v1.BasicUser"> & {
35
+ /**
36
+ * Internal user ID
37
+ *
38
+ * @generated from field: int64 user_id = 1 [jstype = JS_STRING];
39
+ */
40
+ userId: string;
41
+
42
+ /**
43
+ * Display username
44
+ *
45
+ * @generated from field: string username = 2;
46
+ */
47
+ username: string;
48
+ };
49
+
50
+ /**
51
+ * Describes the message uplim.api.v1.BasicUser.
52
+ * Use `create(BasicUserSchema)` to create a new message.
53
+ */
54
+ export const BasicUserSchema: GenMessage<BasicUser> = /*@__PURE__*/
55
+ messageDesc(file_uplim_api_v1_uploads, 0);
56
+
57
+ /**
58
+ * Represents an upload with its properties.
59
+ *
60
+ * @generated from message uplim.api.v1.Upload
61
+ */
62
+ export type Upload = Message<"uplim.api.v1.Upload"> & {
63
+ /**
64
+ * Unique identifier for the upload
65
+ *
66
+ * @generated from field: string upload_id = 1;
67
+ */
68
+ uploadId: string;
69
+
70
+ /**
71
+ * Path where the file is stored
72
+ *
73
+ * @generated from field: string path = 3;
74
+ */
75
+ path: string;
76
+
77
+ /**
78
+ * Slug for the upload, if applicable
79
+ *
80
+ * @generated from field: string slug = 4;
81
+ */
82
+ slug: string;
83
+
84
+ /**
85
+ * URL to access the uploaded file
86
+ *
87
+ * @generated from field: string url = 5;
88
+ */
89
+ url: string;
90
+
91
+ /**
92
+ * URL for the content of the uploaded file
93
+ *
94
+ * @generated from field: string content_url = 7;
95
+ */
96
+ contentUrl: string;
97
+
98
+ /**
99
+ * Size of the file in bytes
100
+ *
101
+ * @generated from field: int32 size_bytes = 8;
102
+ */
103
+ sizeBytes: number;
104
+
105
+ /**
106
+ * MIME type of the file
107
+ *
108
+ * @generated from field: uplim.api.v1.UploadType type = 9;
109
+ */
110
+ type: UploadType;
111
+
112
+ /**
113
+ * Tags associated with the upload
114
+ *
115
+ * @generated from field: repeated string tags = 10;
116
+ */
117
+ tags: string[];
118
+
119
+ /**
120
+ * Integration that owns this upload, if any
121
+ *
122
+ * @generated from field: optional string integration_id = 12;
123
+ */
124
+ integrationId?: string;
125
+
126
+ /**
127
+ * Integration details (populated when integration_id is set)
128
+ *
129
+ * @generated from field: optional uplim.api.v1.IntegrationRef integration = 13;
130
+ */
131
+ integration?: IntegrationRef;
132
+
133
+ /**
134
+ * When true, the upload URL can be accessed with any file extension
135
+ *
136
+ * @generated from field: bool allow_any_extension = 14;
137
+ */
138
+ allowAnyExtension: boolean;
139
+
140
+ /**
141
+ * Default file extension appended to the slug in URLs
142
+ *
143
+ * @generated from field: optional string default_slug_extension = 15;
144
+ */
145
+ defaultSlugExtension?: string;
146
+
147
+ /**
148
+ * AI-generated description of the upload content
149
+ *
150
+ * @generated from field: optional string generated_description = 16;
151
+ */
152
+ generatedDescription?: string;
153
+
154
+ /**
155
+ * Associated meta uploads (thumbnails, archive trees, renderer configs, etc.)
156
+ *
157
+ * @generated from field: repeated uplim.api.v1.MetaUpload meta_uploads = 17;
158
+ */
159
+ metaUploads: MetaUpload[];
160
+
161
+ /**
162
+ * Private access for this upload. If null, inherits from parent folder.
163
+ *
164
+ * @generated from field: optional bool private = 18;
165
+ */
166
+ private?: boolean;
167
+
168
+ /**
169
+ * Aliases pointing to this upload
170
+ *
171
+ * @generated from field: repeated uplim.api.v1.UploadAlias aliases = 19;
172
+ */
173
+ aliases: UploadAlias[];
174
+
175
+ /**
176
+ * When the upload was created
177
+ *
178
+ * @generated from field: google.protobuf.Timestamp created_at = 20;
179
+ */
180
+ createdAt?: Timestamp;
181
+
182
+ /**
183
+ * When the upload was last updated
184
+ *
185
+ * @generated from field: google.protobuf.Timestamp updated_at = 21;
186
+ */
187
+ updatedAt?: Timestamp;
188
+
189
+ /**
190
+ * The user who originally created this upload
191
+ *
192
+ * @generated from field: optional uplim.api.v1.BasicUser author = 22;
193
+ */
194
+ author?: BasicUser;
195
+
196
+ /**
197
+ * The user who last modified this upload
198
+ *
199
+ * @generated from field: optional uplim.api.v1.BasicUser last_modified_by = 23;
200
+ */
201
+ lastModifiedBy?: BasicUser;
202
+
203
+ /**
204
+ * Pipeline version that generated the current thumbnail
205
+ *
206
+ * @generated from field: optional uint32 thumbnail_generation_version = 24;
207
+ */
208
+ thumbnailGenerationVersion?: number;
209
+
210
+ /**
211
+ * Pipeline version that generated the current AI description
212
+ *
213
+ * @generated from field: optional uint32 ai_description_generation_version = 25;
214
+ */
215
+ aiDescriptionGenerationVersion?: number;
216
+
217
+ /**
218
+ * Pipeline version that generated the current AI tags
219
+ *
220
+ * @generated from field: optional uint32 ai_tags_generation_version = 26;
221
+ */
222
+ aiTagsGenerationVersion?: number;
223
+
224
+ /**
225
+ * Pipeline version that performed the current virus scan
226
+ *
227
+ * @generated from field: optional uint32 virus_scan_generation_version = 27;
228
+ */
229
+ virusScanGenerationVersion?: number;
230
+
231
+ /**
232
+ * Reference to the input used for AI description generation
233
+ *
234
+ * @generated from field: optional string ai_description_input_ref = 28;
235
+ */
236
+ aiDescriptionInputRef?: string;
237
+
238
+ /**
239
+ * Arbitrary metadata attached at upload intent creation
240
+ *
241
+ * @generated from field: optional google.protobuf.Struct intent_metadata = 30;
242
+ */
243
+ intentMetadata?: JsonObject;
244
+
245
+ /**
246
+ * The true storage path, including any scoping prefix (e.g. /@integration:...).
247
+ * For folder-scoped tokens, `path` is virtualised relative to the integration root
248
+ * while this field preserves the real path for portal URLs.
249
+ *
250
+ * @generated from field: string external_path = 31;
251
+ */
252
+ externalPath: string;
253
+
254
+ /**
255
+ * Sort order within the parent folder
256
+ *
257
+ * @generated from field: int32 order = 32;
258
+ */
259
+ order: number;
260
+
261
+ /**
262
+ * True when this upload is the root upload of a virtual file folder.
263
+ *
264
+ * @generated from field: bool is_virtual_file = 33;
265
+ */
266
+ isVirtualFile: boolean;
267
+
268
+ /**
269
+ * Whether this upload is private to the owning integration.
270
+ * When true, only the owning integration (with API key if api_key_enabled) can access it.
271
+ * Only supported on uploads in integration-owned folders, virtual uploads, or integration buckets.
272
+ *
273
+ * @generated from field: bool integration_hidden = 34;
274
+ */
275
+ integrationHidden: boolean;
276
+
277
+ /**
278
+ * Monotonic content version. Starts at 1 and increments on every
279
+ * successful ReplaceUploadContent. Metadata-only updates (rename,
280
+ * thumbnail pipeline, tags, etc.) do NOT bump this value. Used as the
281
+ * clock-free basis for CreateUploadRequest.last_synced_version
282
+ * conflict detection — callers echo the version they observed on
283
+ * their last sync, the server compares integer-to-integer.
284
+ *
285
+ * @generated from field: int32 version = 35;
286
+ */
287
+ version: number;
288
+ };
289
+
290
+ /**
291
+ * Describes the message uplim.api.v1.Upload.
292
+ * Use `create(UploadSchema)` to create a new message.
293
+ */
294
+ export const UploadSchema: GenMessage<Upload> = /*@__PURE__*/
295
+ messageDesc(file_uplim_api_v1_uploads, 1);
296
+
297
+ /**
298
+ * Request message for listing uploads in a bucket
299
+ *
300
+ * @generated from message uplim.api.v1.ListUploadsRequest
301
+ */
302
+ export type ListUploadsRequest = Message<"uplim.api.v1.ListUploadsRequest"> & {
303
+ /**
304
+ * Reference to the bucket to list uploads from
305
+ *
306
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
307
+ */
308
+ bucketRef?: BucketRef;
309
+
310
+ /**
311
+ * Optional path to filter uploads
312
+ *
313
+ * @generated from field: optional string path = 2;
314
+ */
315
+ path?: string;
316
+
317
+ /**
318
+ * Deprecated: Use date_from/date_to instead
319
+ *
320
+ * @generated from field: optional int32 year = 3 [deprecated = true];
321
+ * @deprecated
322
+ */
323
+ year?: number;
324
+
325
+ /**
326
+ * Deprecated: Use date_from/date_to instead
327
+ *
328
+ * @generated from field: optional int32 month = 4 [deprecated = true];
329
+ * @deprecated
330
+ */
331
+ month?: number;
332
+
333
+ /**
334
+ * Optional tags to filter uploads
335
+ *
336
+ * @generated from field: repeated string tags = 5;
337
+ */
338
+ tags: string[];
339
+
340
+ /**
341
+ * @generated from oneof uplim.api.v1.ListUploadsRequest.pagination
342
+ */
343
+ pagination: {
344
+ /**
345
+ * @generated from field: int32 limit = 6;
346
+ */
347
+ value: number;
348
+ case: "limit";
349
+ } | {
350
+ /**
351
+ * @generated from field: string cursor = 7;
352
+ */
353
+ value: string;
354
+ case: "cursor";
355
+ } | { case: undefined; value?: undefined };
356
+
357
+ /**
358
+ * Start of date range filter (inclusive)
359
+ *
360
+ * @generated from field: optional google.protobuf.Timestamp date_from = 8;
361
+ */
362
+ dateFrom?: Timestamp;
363
+
364
+ /**
365
+ * End of date range filter (inclusive)
366
+ *
367
+ * @generated from field: optional google.protobuf.Timestamp date_to = 9;
368
+ */
369
+ dateTo?: Timestamp;
370
+
371
+ /**
372
+ * Filter by slug (server-side ILIKE / prefix match)
373
+ *
374
+ * @generated from field: optional string search = 10;
375
+ */
376
+ search?: string;
377
+
378
+ /**
379
+ * Field to sort by: "created_at" (default), "updated_at", "slug", "size_bytes", "order"
380
+ *
381
+ * @generated from field: optional string sort_by = 11;
382
+ */
383
+ sortBy?: string;
384
+
385
+ /**
386
+ * Sort order: "asc" or "desc" (default "desc")
387
+ *
388
+ * @generated from field: optional string sort_order = 12;
389
+ */
390
+ sortOrder?: string;
391
+ };
392
+
393
+ /**
394
+ * Describes the message uplim.api.v1.ListUploadsRequest.
395
+ * Use `create(ListUploadsRequestSchema)` to create a new message.
396
+ */
397
+ export const ListUploadsRequestSchema: GenMessage<ListUploadsRequest> = /*@__PURE__*/
398
+ messageDesc(file_uplim_api_v1_uploads, 2);
399
+
400
+ /**
401
+ * Response message containing a list of uploads
402
+ *
403
+ * @generated from message uplim.api.v1.ListUploadsResponse
404
+ */
405
+ export type ListUploadsResponse = Message<"uplim.api.v1.ListUploadsResponse"> & {
406
+ /**
407
+ * List of uploads in the specified bucket
408
+ *
409
+ * @generated from field: repeated uplim.api.v1.Upload uploads = 1;
410
+ */
411
+ uploads: Upload[];
412
+
413
+ /**
414
+ * @generated from field: string next_cursor = 2;
415
+ */
416
+ nextCursor: string;
417
+ };
418
+
419
+ /**
420
+ * Describes the message uplim.api.v1.ListUploadsResponse.
421
+ * Use `create(ListUploadsResponseSchema)` to create a new message.
422
+ */
423
+ export const ListUploadsResponseSchema: GenMessage<ListUploadsResponse> = /*@__PURE__*/
424
+ messageDesc(file_uplim_api_v1_uploads, 3);
425
+
426
+ /**
427
+ * Request message for getting an upload breakdown
428
+ *
429
+ * @generated from message uplim.api.v1.GetUploadBreakdownRequest
430
+ */
431
+ export type GetUploadBreakdownRequest = Message<"uplim.api.v1.GetUploadBreakdownRequest"> & {
432
+ /**
433
+ * Reference to the bucket to list uploads from
434
+ *
435
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
436
+ */
437
+ bucketRef?: BucketRef;
438
+
439
+ /**
440
+ * Optional path to filter breakdown
441
+ *
442
+ * @generated from field: optional string path = 2;
443
+ */
444
+ path?: string;
445
+
446
+ /**
447
+ * @generated from field: repeated string tags = 3;
448
+ */
449
+ tags: string[];
450
+ };
451
+
452
+ /**
453
+ * Describes the message uplim.api.v1.GetUploadBreakdownRequest.
454
+ * Use `create(GetUploadBreakdownRequestSchema)` to create a new message.
455
+ */
456
+ export const GetUploadBreakdownRequestSchema: GenMessage<GetUploadBreakdownRequest> = /*@__PURE__*/
457
+ messageDesc(file_uplim_api_v1_uploads, 4);
458
+
459
+ /**
460
+ * Response message containing upload breakdown details
461
+ *
462
+ * @generated from message uplim.api.v1.GetUploadBreakdownResponse
463
+ */
464
+ export type GetUploadBreakdownResponse = Message<"uplim.api.v1.GetUploadBreakdownResponse"> & {
465
+ /**
466
+ * List of breakdowns for the specified criteria
467
+ *
468
+ * @generated from field: repeated uplim.api.v1.GetUploadBreakdownResponse.Breakdown breakdowns = 1;
469
+ */
470
+ breakdowns: GetUploadBreakdownResponse_Breakdown[];
471
+ };
472
+
473
+ /**
474
+ * Describes the message uplim.api.v1.GetUploadBreakdownResponse.
475
+ * Use `create(GetUploadBreakdownResponseSchema)` to create a new message.
476
+ */
477
+ export const GetUploadBreakdownResponseSchema: GenMessage<GetUploadBreakdownResponse> = /*@__PURE__*/
478
+ messageDesc(file_uplim_api_v1_uploads, 5);
479
+
480
+ /**
481
+ * Breakdown of uploads for a specific period
482
+ *
483
+ * @generated from message uplim.api.v1.GetUploadBreakdownResponse.Breakdown
484
+ */
485
+ export type GetUploadBreakdownResponse_Breakdown = Message<"uplim.api.v1.GetUploadBreakdownResponse.Breakdown"> & {
486
+ /**
487
+ * Month of the breakdown
488
+ *
489
+ * @generated from field: int32 month = 1;
490
+ */
491
+ month: number;
492
+
493
+ /**
494
+ * Year of the breakdown
495
+ *
496
+ * @generated from field: int32 year = 2;
497
+ */
498
+ year: number;
499
+
500
+ /**
501
+ * Number of uploads in the breakdown
502
+ *
503
+ * @generated from field: int32 upload_count = 3;
504
+ */
505
+ uploadCount: number;
506
+
507
+ /**
508
+ * Total size of uploads in bytes
509
+ *
510
+ * @generated from field: int64 size_bytes = 4 [jstype = JS_STRING];
511
+ */
512
+ sizeBytes: string;
513
+ };
514
+
515
+ /**
516
+ * Describes the message uplim.api.v1.GetUploadBreakdownResponse.Breakdown.
517
+ * Use `create(GetUploadBreakdownResponse_BreakdownSchema)` to create a new message.
518
+ */
519
+ export const GetUploadBreakdownResponse_BreakdownSchema: GenMessage<GetUploadBreakdownResponse_Breakdown> = /*@__PURE__*/
520
+ messageDesc(file_uplim_api_v1_uploads, 5, 0);
521
+
522
+ /**
523
+ * Request message for creating a new upload
524
+ *
525
+ * @generated from message uplim.api.v1.CreateUploadRequest
526
+ */
527
+ export type CreateUploadRequest = Message<"uplim.api.v1.CreateUploadRequest"> & {
528
+ /**
529
+ * Reference to the bucket
530
+ *
531
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
532
+ */
533
+ bucketRef?: BucketRef;
534
+
535
+ /**
536
+ * Unique identifier for the upload request
537
+ *
538
+ * @generated from field: string upload_request_id = 2;
539
+ */
540
+ uploadRequestId: string;
541
+
542
+ /**
543
+ * Name of the file to be uploaded
544
+ *
545
+ * @generated from field: string filename = 3;
546
+ */
547
+ filename: string;
548
+
549
+ /**
550
+ * Tags to associate with the upload
551
+ *
552
+ * @generated from field: repeated string tags = 4;
553
+ */
554
+ tags: string[];
555
+
556
+ /**
557
+ * User who uploaded the file
558
+ *
559
+ * @generated from field: string uploaded_by = 5;
560
+ */
561
+ uploadedBy: string;
562
+
563
+ /**
564
+ * Either create a new upload, replace an existing one, or upsert
565
+ *
566
+ * @generated from oneof uplim.api.v1.CreateUploadRequest.target
567
+ */
568
+ target: {
569
+ /**
570
+ * Create a new upload in this directory
571
+ *
572
+ * @generated from field: uplim.api.v1.CreateUploadTarget create = 13;
573
+ */
574
+ value: CreateUploadTarget;
575
+ case: "create";
576
+ } | {
577
+ /**
578
+ * Replace the content of an existing upload (creates history entry)
579
+ *
580
+ * @generated from field: uplim.api.v1.UploadRef replace = 14;
581
+ */
582
+ value: UploadRef;
583
+ case: "replace";
584
+ } | {
585
+ /**
586
+ * Create or update based on path (creates if not exists, replaces if exists)
587
+ *
588
+ * @generated from field: string upsert_path = 15;
589
+ */
590
+ value: string;
591
+ case: "upsertPath";
592
+ } | { case: undefined; value?: undefined };
593
+
594
+ /**
595
+ * List of part ETags for multipart uploads
596
+ *
597
+ * @generated from field: repeated uplim.api.v1.CreateUploadRequest.UploadPartEtag part_etags = 9;
598
+ */
599
+ partEtags: CreateUploadRequest_UploadPartEtag[];
600
+
601
+ /**
602
+ * @generated from field: bool allow_any_extension = 10;
603
+ */
604
+ allowAnyExtension: boolean;
605
+
606
+ /**
607
+ * @generated from field: optional string default_slug_extension = 11;
608
+ */
609
+ defaultSlugExtension?: string;
610
+
611
+ /**
612
+ * Private access for this upload. If null, inherits from parent folder.
613
+ *
614
+ * @generated from field: optional bool private = 12;
615
+ */
616
+ private?: boolean;
617
+
618
+ /**
619
+ * Whether this upload is private to the owning integration.
620
+ * When true, only the owning integration (with API key if api_key_enabled) can access it.
621
+ *
622
+ * @generated from field: optional bool integration_hidden = 16;
623
+ */
624
+ integrationHidden?: boolean;
625
+
626
+ /**
627
+ * Optional creation timestamp. When set, overrides the default (now).
628
+ * Used by mobile photo sync to preserve the photo's original taken date.
629
+ *
630
+ * @generated from field: optional google.protobuf.Timestamp created_at = 17;
631
+ */
632
+ createdAt?: Timestamp;
633
+
634
+ /**
635
+ * DEPRECATED. Use `last_synced_version` instead. Kept only so
636
+ * in-flight old clients continue working through one rollout cycle.
637
+ * Timestamp comparison is vulnerable to server-clock skew and
638
+ * sub-second precision drift; `version` is clock-free.
639
+ *
640
+ * @generated from field: optional google.protobuf.Timestamp last_synced_at = 18 [deprecated = true];
641
+ * @deprecated
642
+ */
643
+ lastSyncedAt?: Timestamp;
644
+
645
+ /**
646
+ * The `Upload.version` the caller observed on its last sync with the
647
+ * server. On a `replace` or `upsert_path` target: if the existing
648
+ * upload's current `version` is greater, the server detected a
649
+ * concurrent edit and will not overwrite the current content. The
650
+ * incoming bytes are stored as an `UploadHistoryEntry` with
651
+ * `is_conflict = true`, the unchanged current upload is returned, and
652
+ * `CreateUploadResponse.conflict` is set. The caller can retrieve the
653
+ * conflicting content via ListUploadHistory / GetUploadHistoryContent
654
+ * and reconcile however its product requires.
655
+ *
656
+ * On a bare `create` target: behaves identically if an upload already
657
+ * exists at that (directory, slug); the existing upload is returned as
658
+ * current, and the caller's content is preserved as a conflict history
659
+ * entry. With no existing upload, creates normally.
660
+ *
661
+ * Special case — if `last_synced_version` is set and the target no
662
+ * longer exists (deleted since the caller's last sync), the server
663
+ * resurrects the upload with the caller's content as the new current
664
+ * version (create semantics).
665
+ *
666
+ * When 0 / unset, no conflict check is performed. Callers that don't
667
+ * care about cross-client concurrent edits (single-writer bots, bulk
668
+ * importers) can simply leave this unset.
669
+ *
670
+ * @generated from field: int32 last_synced_version = 19;
671
+ */
672
+ lastSyncedVersion: number;
673
+ };
674
+
675
+ /**
676
+ * Describes the message uplim.api.v1.CreateUploadRequest.
677
+ * Use `create(CreateUploadRequestSchema)` to create a new message.
678
+ */
679
+ export const CreateUploadRequestSchema: GenMessage<CreateUploadRequest> = /*@__PURE__*/
680
+ messageDesc(file_uplim_api_v1_uploads, 6);
681
+
682
+ /**
683
+ * Represents a part of a multipart upload
684
+ *
685
+ * @generated from message uplim.api.v1.CreateUploadRequest.UploadPartEtag
686
+ */
687
+ export type CreateUploadRequest_UploadPartEtag = Message<"uplim.api.v1.CreateUploadRequest.UploadPartEtag"> & {
688
+ /**
689
+ * Part number of the upload
690
+ *
691
+ * @generated from field: int32 part_number = 1;
692
+ */
693
+ partNumber: number;
694
+
695
+ /**
696
+ * ETag of the part
697
+ *
698
+ * @generated from field: string etag = 2;
699
+ */
700
+ etag: string;
701
+ };
702
+
703
+ /**
704
+ * Describes the message uplim.api.v1.CreateUploadRequest.UploadPartEtag.
705
+ * Use `create(CreateUploadRequest_UploadPartEtagSchema)` to create a new message.
706
+ */
707
+ export const CreateUploadRequest_UploadPartEtagSchema: GenMessage<CreateUploadRequest_UploadPartEtag> = /*@__PURE__*/
708
+ messageDesc(file_uplim_api_v1_uploads, 6, 0);
709
+
710
+ /**
711
+ * Target for creating a new upload
712
+ *
713
+ * @generated from message uplim.api.v1.CreateUploadTarget
714
+ */
715
+ export type CreateUploadTarget = Message<"uplim.api.v1.CreateUploadTarget"> & {
716
+ /**
717
+ * Directory to upload the file to
718
+ *
719
+ * @generated from field: string directory = 1;
720
+ */
721
+ directory: string;
722
+
723
+ /**
724
+ * Optional slug for the upload
725
+ *
726
+ * @generated from field: optional string slug = 2;
727
+ */
728
+ slug?: string;
729
+
730
+ /**
731
+ * Optional dynamic slug length for the upload (generates random slug of this length)
732
+ *
733
+ * @generated from field: optional int32 dynamic_slug = 3;
734
+ */
735
+ dynamicSlug?: number;
736
+ };
737
+
738
+ /**
739
+ * Describes the message uplim.api.v1.CreateUploadTarget.
740
+ * Use `create(CreateUploadTargetSchema)` to create a new message.
741
+ */
742
+ export const CreateUploadTargetSchema: GenMessage<CreateUploadTarget> = /*@__PURE__*/
743
+ messageDesc(file_uplim_api_v1_uploads, 7);
744
+
745
+ /**
746
+ * Response message containing the created upload
747
+ *
748
+ * @generated from message uplim.api.v1.CreateUploadResponse
749
+ */
750
+ export type CreateUploadResponse = Message<"uplim.api.v1.CreateUploadResponse"> & {
751
+ /**
752
+ * The newly created (or unchanged, on conflict) upload at the target.
753
+ * When `conflict = true` this is the server's current upload — which
754
+ * the caller did NOT update — and the caller's bytes are in
755
+ * `conflict_history`. When `conflict = false` this is the upload the
756
+ * caller just created or replaced, as before.
757
+ *
758
+ * @generated from field: uplim.api.v1.Upload upload = 1;
759
+ */
760
+ upload?: Upload;
761
+
762
+ /**
763
+ * True when `last_synced_at` indicated the caller was editing against
764
+ * an outdated version and the server preserved the incoming content as
765
+ * an `UploadHistoryEntry` rather than replacing the current upload.
766
+ * `upload` is unchanged, `conflict_history` holds the stashed content.
767
+ *
768
+ * @generated from field: bool conflict = 2;
769
+ */
770
+ conflict: boolean;
771
+
772
+ /**
773
+ * The history entry the server wrote when `conflict = true`. Unset
774
+ * otherwise. Pair with `GetUploadHistoryContent(history_id)` to fetch
775
+ * the stashed bytes.
776
+ *
777
+ * @generated from field: optional uplim.api.v1.UploadHistoryEntry conflict_history = 3;
778
+ */
779
+ conflictHistory?: UploadHistoryEntry;
780
+ };
781
+
782
+ /**
783
+ * Describes the message uplim.api.v1.CreateUploadResponse.
784
+ * Use `create(CreateUploadResponseSchema)` to create a new message.
785
+ */
786
+ export const CreateUploadResponseSchema: GenMessage<CreateUploadResponse> = /*@__PURE__*/
787
+ messageDesc(file_uplim_api_v1_uploads, 8);
788
+
789
+ /**
790
+ * Request message for retrieving a specific upload
791
+ *
792
+ * @generated from message uplim.api.v1.GetUploadRequest
793
+ */
794
+ export type GetUploadRequest = Message<"uplim.api.v1.GetUploadRequest"> & {
795
+ /**
796
+ * Reference to the bucket
797
+ *
798
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
799
+ */
800
+ bucketRef?: BucketRef;
801
+
802
+ /**
803
+ * Reference to the upload (by ID or path)
804
+ *
805
+ * @generated from field: uplim.api.v1.UploadRef upload_ref = 2;
806
+ */
807
+ uploadRef?: UploadRef;
808
+ };
809
+
810
+ /**
811
+ * Describes the message uplim.api.v1.GetUploadRequest.
812
+ * Use `create(GetUploadRequestSchema)` to create a new message.
813
+ */
814
+ export const GetUploadRequestSchema: GenMessage<GetUploadRequest> = /*@__PURE__*/
815
+ messageDesc(file_uplim_api_v1_uploads, 9);
816
+
817
+ /**
818
+ * Response message containing the requested upload
819
+ *
820
+ * @generated from message uplim.api.v1.GetUploadResponse
821
+ */
822
+ export type GetUploadResponse = Message<"uplim.api.v1.GetUploadResponse"> & {
823
+ /**
824
+ * The requested upload
825
+ *
826
+ * @generated from field: uplim.api.v1.Upload upload = 1;
827
+ */
828
+ upload?: Upload;
829
+ };
830
+
831
+ /**
832
+ * Describes the message uplim.api.v1.GetUploadResponse.
833
+ * Use `create(GetUploadResponseSchema)` to create a new message.
834
+ */
835
+ export const GetUploadResponseSchema: GenMessage<GetUploadResponse> = /*@__PURE__*/
836
+ messageDesc(file_uplim_api_v1_uploads, 10);
837
+
838
+ /**
839
+ * @generated from message uplim.api.v1.GetUploadMetadataResponse
840
+ */
841
+ export type GetUploadMetadataResponse = Message<"uplim.api.v1.GetUploadMetadataResponse"> & {
842
+ /**
843
+ * @generated from field: uplim.api.v1.UploadMetadata metadata = 1;
844
+ */
845
+ metadata?: UploadMetadata;
846
+ };
847
+
848
+ /**
849
+ * Describes the message uplim.api.v1.GetUploadMetadataResponse.
850
+ * Use `create(GetUploadMetadataResponseSchema)` to create a new message.
851
+ */
852
+ export const GetUploadMetadataResponseSchema: GenMessage<GetUploadMetadataResponse> = /*@__PURE__*/
853
+ messageDesc(file_uplim_api_v1_uploads, 11);
854
+
855
+ /**
856
+ * @generated from message uplim.api.v1.UpdateUploadRequest
857
+ */
858
+ export type UpdateUploadRequest = Message<"uplim.api.v1.UpdateUploadRequest"> & {
859
+ /**
860
+ * Reference to the bucket
861
+ *
862
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
863
+ */
864
+ bucketRef?: BucketRef;
865
+
866
+ /**
867
+ * Reference to the upload (by ID or path)
868
+ *
869
+ * @generated from field: uplim.api.v1.UploadRef upload_ref = 2;
870
+ */
871
+ uploadRef?: UploadRef;
872
+
873
+ /**
874
+ * @generated from field: repeated string tags = 6;
875
+ */
876
+ tags: string[];
877
+
878
+ /**
879
+ * @generated from field: google.protobuf.FieldMask update_mask = 7;
880
+ */
881
+ updateMask?: FieldMask;
882
+
883
+ /**
884
+ * @generated from oneof uplim.api.v1.UpdateUploadRequest.private_access
885
+ */
886
+ privateAccess: {
887
+ /**
888
+ * @generated from field: bool private = 8;
889
+ */
890
+ value: boolean;
891
+ case: "private";
892
+ } | {
893
+ /**
894
+ * @generated from field: bool inherit_private = 9;
895
+ */
896
+ value: boolean;
897
+ case: "inheritPrivate";
898
+ } | { case: undefined; value?: undefined };
899
+
900
+ /**
901
+ * @generated from field: optional string path = 10;
902
+ */
903
+ path?: string;
904
+
905
+ /**
906
+ * @generated from field: optional string slug = 11;
907
+ */
908
+ slug?: string;
909
+
910
+ /**
911
+ * Whether this upload is private to the owning integration.
912
+ * When true, only the owning integration (with API key if api_key_enabled) can access it.
913
+ *
914
+ * @generated from field: optional bool integration_hidden = 12;
915
+ */
916
+ integrationHidden?: boolean;
917
+ };
918
+
919
+ /**
920
+ * Describes the message uplim.api.v1.UpdateUploadRequest.
921
+ * Use `create(UpdateUploadRequestSchema)` to create a new message.
922
+ */
923
+ export const UpdateUploadRequestSchema: GenMessage<UpdateUploadRequest> = /*@__PURE__*/
924
+ messageDesc(file_uplim_api_v1_uploads, 12);
925
+
926
+ /**
927
+ * @generated from message uplim.api.v1.UpdateUploadResponse
928
+ */
929
+ export type UpdateUploadResponse = Message<"uplim.api.v1.UpdateUploadResponse"> & {
930
+ /**
931
+ * The updated upload
932
+ *
933
+ * @generated from field: uplim.api.v1.Upload upload = 1;
934
+ */
935
+ upload?: Upload;
936
+ };
937
+
938
+ /**
939
+ * Describes the message uplim.api.v1.UpdateUploadResponse.
940
+ * Use `create(UpdateUploadResponseSchema)` to create a new message.
941
+ */
942
+ export const UpdateUploadResponseSchema: GenMessage<UpdateUploadResponse> = /*@__PURE__*/
943
+ messageDesc(file_uplim_api_v1_uploads, 13);
944
+
945
+ /**
946
+ * Request message for deleting a specific upload
947
+ *
948
+ * @generated from message uplim.api.v1.DeleteUploadRequest
949
+ */
950
+ export type DeleteUploadRequest = Message<"uplim.api.v1.DeleteUploadRequest"> & {
951
+ /**
952
+ * Reference to the bucket
953
+ *
954
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
955
+ */
956
+ bucketRef?: BucketRef;
957
+
958
+ /**
959
+ * Reference to the upload (by ID or path)
960
+ *
961
+ * @generated from field: uplim.api.v1.UploadRef upload_ref = 2;
962
+ */
963
+ uploadRef?: UploadRef;
964
+ };
965
+
966
+ /**
967
+ * Describes the message uplim.api.v1.DeleteUploadRequest.
968
+ * Use `create(DeleteUploadRequestSchema)` to create a new message.
969
+ */
970
+ export const DeleteUploadRequestSchema: GenMessage<DeleteUploadRequest> = /*@__PURE__*/
971
+ messageDesc(file_uplim_api_v1_uploads, 14);
972
+
973
+ /**
974
+ * Request message for requesting an upload
975
+ *
976
+ * @generated from message uplim.api.v1.RequestUploadRequest
977
+ */
978
+ export type RequestUploadRequest = Message<"uplim.api.v1.RequestUploadRequest"> & {
979
+ /**
980
+ * Reference to the bucket
981
+ *
982
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
983
+ */
984
+ bucketRef?: BucketRef;
985
+
986
+ /**
987
+ * Size of the file in bytes
988
+ *
989
+ * @generated from field: int32 filesize_bytes = 2;
990
+ */
991
+ filesizeBytes: number;
992
+
993
+ /**
994
+ * MIME type of the file
995
+ *
996
+ * @generated from field: string mime_type = 3;
997
+ */
998
+ mimeType: string;
999
+
1000
+ /**
1001
+ * File extension
1002
+ *
1003
+ * @generated from field: string extension = 4;
1004
+ */
1005
+ extension: string;
1006
+
1007
+ /**
1008
+ * Indicates if the upload is multipart
1009
+ *
1010
+ * @generated from field: bool multipart = 5;
1011
+ */
1012
+ multipart: boolean;
1013
+ };
1014
+
1015
+ /**
1016
+ * Describes the message uplim.api.v1.RequestUploadRequest.
1017
+ * Use `create(RequestUploadRequestSchema)` to create a new message.
1018
+ */
1019
+ export const RequestUploadRequestSchema: GenMessage<RequestUploadRequest> = /*@__PURE__*/
1020
+ messageDesc(file_uplim_api_v1_uploads, 15);
1021
+
1022
+ /**
1023
+ * @generated from message uplim.api.v1.CreateSignedUploadIntentRequest
1024
+ */
1025
+ export type CreateSignedUploadIntentRequest = Message<"uplim.api.v1.CreateSignedUploadIntentRequest"> & {
1026
+ /**
1027
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
1028
+ */
1029
+ bucketRef?: BucketRef;
1030
+
1031
+ /**
1032
+ * @generated from field: optional google.protobuf.Timestamp expires_at = 2;
1033
+ */
1034
+ expiresAt?: Timestamp;
1035
+
1036
+ /**
1037
+ * @generated from field: optional google.protobuf.Struct metadata = 4;
1038
+ */
1039
+ metadata?: JsonObject;
1040
+
1041
+ /**
1042
+ * @generated from field: optional uplim.api.v1.CreateSignedUploadIntentRequest.UploadConstraints constraints = 5;
1043
+ */
1044
+ constraints?: CreateSignedUploadIntentRequest_UploadConstraints;
1045
+
1046
+ /**
1047
+ * Target for the upload (where the file will land)
1048
+ *
1049
+ * @generated from oneof uplim.api.v1.CreateSignedUploadIntentRequest.target
1050
+ */
1051
+ target: {
1052
+ /**
1053
+ * @generated from field: uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget.CreateTarget create = 6;
1054
+ */
1055
+ value: CreateSignedUploadIntentRequest_IntentTarget_CreateTarget;
1056
+ case: "create";
1057
+ } | {
1058
+ /**
1059
+ * @generated from field: uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget.ReplaceTarget replace = 7;
1060
+ */
1061
+ value: CreateSignedUploadIntentRequest_IntentTarget_ReplaceTarget;
1062
+ case: "replace";
1063
+ } | {
1064
+ /**
1065
+ * @generated from field: string upsert_path = 8;
1066
+ */
1067
+ value: string;
1068
+ case: "upsertPath";
1069
+ } | { case: undefined; value?: undefined };
1070
+
1071
+ /**
1072
+ * Upload options (all concrete at intent creation)
1073
+ *
1074
+ * @generated from field: string filename = 9;
1075
+ */
1076
+ filename: string;
1077
+
1078
+ /**
1079
+ * @generated from field: repeated string tags = 10;
1080
+ */
1081
+ tags: string[];
1082
+
1083
+ /**
1084
+ * @generated from field: string uploaded_by = 11;
1085
+ */
1086
+ uploadedBy: string;
1087
+
1088
+ /**
1089
+ * @generated from field: bool allow_any_extension = 12;
1090
+ */
1091
+ allowAnyExtension: boolean;
1092
+
1093
+ /**
1094
+ * @generated from field: optional string default_slug_extension = 13;
1095
+ */
1096
+ defaultSlugExtension?: string;
1097
+
1098
+ /**
1099
+ * @generated from field: optional bool private = 14;
1100
+ */
1101
+ private?: boolean;
1102
+
1103
+ /**
1104
+ * Resource permissions to grant after upload completion
1105
+ *
1106
+ * @generated from field: repeated uplim.api.v1.CreateSignedUploadIntentRequest.ResourcePermissionGrant resource_permissions = 15;
1107
+ */
1108
+ resourcePermissions: CreateSignedUploadIntentRequest_ResourcePermissionGrant[];
1109
+
1110
+ /**
1111
+ * Whether this upload is private to the owning integration.
1112
+ * When true, only the owning integration (with API key if api_key_enabled) can access it.
1113
+ *
1114
+ * @generated from field: optional bool integration_hidden = 16;
1115
+ */
1116
+ integrationHidden?: boolean;
1117
+ };
1118
+
1119
+ /**
1120
+ * Describes the message uplim.api.v1.CreateSignedUploadIntentRequest.
1121
+ * Use `create(CreateSignedUploadIntentRequestSchema)` to create a new message.
1122
+ */
1123
+ export const CreateSignedUploadIntentRequestSchema: GenMessage<CreateSignedUploadIntentRequest> = /*@__PURE__*/
1124
+ messageDesc(file_uplim_api_v1_uploads, 16);
1125
+
1126
+ /**
1127
+ * @generated from message uplim.api.v1.CreateSignedUploadIntentRequest.UploadConstraints
1128
+ */
1129
+ export type CreateSignedUploadIntentRequest_UploadConstraints = Message<"uplim.api.v1.CreateSignedUploadIntentRequest.UploadConstraints"> & {
1130
+ /**
1131
+ * @generated from field: optional int64 max_filesize_bytes = 1 [jstype = JS_STRING];
1132
+ */
1133
+ maxFilesizeBytes?: string;
1134
+
1135
+ /**
1136
+ * @generated from field: repeated string allowed_mime_types = 2;
1137
+ */
1138
+ allowedMimeTypes: string[];
1139
+
1140
+ /**
1141
+ * @generated from field: repeated string allowed_extensions = 3;
1142
+ */
1143
+ allowedExtensions: string[];
1144
+
1145
+ /**
1146
+ * @generated from field: optional bool multipart = 4;
1147
+ */
1148
+ multipart?: boolean;
1149
+ };
1150
+
1151
+ /**
1152
+ * Describes the message uplim.api.v1.CreateSignedUploadIntentRequest.UploadConstraints.
1153
+ * Use `create(CreateSignedUploadIntentRequest_UploadConstraintsSchema)` to create a new message.
1154
+ */
1155
+ export const CreateSignedUploadIntentRequest_UploadConstraintsSchema: GenMessage<CreateSignedUploadIntentRequest_UploadConstraints> = /*@__PURE__*/
1156
+ messageDesc(file_uplim_api_v1_uploads, 16, 0);
1157
+
1158
+ /**
1159
+ * @generated from message uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget
1160
+ */
1161
+ export type CreateSignedUploadIntentRequest_IntentTarget = Message<"uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget"> & {
1162
+ };
1163
+
1164
+ /**
1165
+ * Describes the message uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget.
1166
+ * Use `create(CreateSignedUploadIntentRequest_IntentTargetSchema)` to create a new message.
1167
+ */
1168
+ export const CreateSignedUploadIntentRequest_IntentTargetSchema: GenMessage<CreateSignedUploadIntentRequest_IntentTarget> = /*@__PURE__*/
1169
+ messageDesc(file_uplim_api_v1_uploads, 16, 1);
1170
+
1171
+ /**
1172
+ * @generated from message uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget.CreateTarget
1173
+ */
1174
+ export type CreateSignedUploadIntentRequest_IntentTarget_CreateTarget = Message<"uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget.CreateTarget"> & {
1175
+ /**
1176
+ * @generated from field: string directory = 1;
1177
+ */
1178
+ directory: string;
1179
+
1180
+ /**
1181
+ * @generated from field: optional string slug = 2;
1182
+ */
1183
+ slug?: string;
1184
+
1185
+ /**
1186
+ * @generated from field: optional int32 dynamic_slug = 3;
1187
+ */
1188
+ dynamicSlug?: number;
1189
+ };
1190
+
1191
+ /**
1192
+ * Describes the message uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget.CreateTarget.
1193
+ * Use `create(CreateSignedUploadIntentRequest_IntentTarget_CreateTargetSchema)` to create a new message.
1194
+ */
1195
+ export const CreateSignedUploadIntentRequest_IntentTarget_CreateTargetSchema: GenMessage<CreateSignedUploadIntentRequest_IntentTarget_CreateTarget> = /*@__PURE__*/
1196
+ messageDesc(file_uplim_api_v1_uploads, 16, 1, 0);
1197
+
1198
+ /**
1199
+ * @generated from message uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget.ReplaceTarget
1200
+ */
1201
+ export type CreateSignedUploadIntentRequest_IntentTarget_ReplaceTarget = Message<"uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget.ReplaceTarget"> & {
1202
+ /**
1203
+ * @generated from oneof uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget.ReplaceTarget.ref
1204
+ */
1205
+ ref: {
1206
+ /**
1207
+ * @generated from field: string upload_id = 1;
1208
+ */
1209
+ value: string;
1210
+ case: "uploadId";
1211
+ } | {
1212
+ /**
1213
+ * @generated from field: string upload_path = 2;
1214
+ */
1215
+ value: string;
1216
+ case: "uploadPath";
1217
+ } | { case: undefined; value?: undefined };
1218
+ };
1219
+
1220
+ /**
1221
+ * Describes the message uplim.api.v1.CreateSignedUploadIntentRequest.IntentTarget.ReplaceTarget.
1222
+ * Use `create(CreateSignedUploadIntentRequest_IntentTarget_ReplaceTargetSchema)` to create a new message.
1223
+ */
1224
+ export const CreateSignedUploadIntentRequest_IntentTarget_ReplaceTargetSchema: GenMessage<CreateSignedUploadIntentRequest_IntentTarget_ReplaceTarget> = /*@__PURE__*/
1225
+ messageDesc(file_uplim_api_v1_uploads, 16, 1, 1);
1226
+
1227
+ /**
1228
+ * @generated from message uplim.api.v1.CreateSignedUploadIntentRequest.ResourcePermissionGrant
1229
+ */
1230
+ export type CreateSignedUploadIntentRequest_ResourcePermissionGrant = Message<"uplim.api.v1.CreateSignedUploadIntentRequest.ResourcePermissionGrant"> & {
1231
+ /**
1232
+ * @generated from field: string account_id = 1;
1233
+ */
1234
+ accountId: string;
1235
+
1236
+ /**
1237
+ * @generated from field: uplim.api.v1.BucketPermissionLevel permission_level = 2;
1238
+ */
1239
+ permissionLevel: BucketPermissionLevel;
1240
+ };
1241
+
1242
+ /**
1243
+ * Describes the message uplim.api.v1.CreateSignedUploadIntentRequest.ResourcePermissionGrant.
1244
+ * Use `create(CreateSignedUploadIntentRequest_ResourcePermissionGrantSchema)` to create a new message.
1245
+ */
1246
+ export const CreateSignedUploadIntentRequest_ResourcePermissionGrantSchema: GenMessage<CreateSignedUploadIntentRequest_ResourcePermissionGrant> = /*@__PURE__*/
1247
+ messageDesc(file_uplim_api_v1_uploads, 16, 2);
1248
+
1249
+ /**
1250
+ * @generated from message uplim.api.v1.CreateSignedUploadIntentResponse
1251
+ */
1252
+ export type CreateSignedUploadIntentResponse = Message<"uplim.api.v1.CreateSignedUploadIntentResponse"> & {
1253
+ /**
1254
+ * @generated from field: string signed_intent_token = 1;
1255
+ */
1256
+ signedIntentToken: string;
1257
+
1258
+ /**
1259
+ * @generated from field: google.protobuf.Timestamp expires_at = 2;
1260
+ */
1261
+ expiresAt?: Timestamp;
1262
+ };
1263
+
1264
+ /**
1265
+ * Describes the message uplim.api.v1.CreateSignedUploadIntentResponse.
1266
+ * Use `create(CreateSignedUploadIntentResponseSchema)` to create a new message.
1267
+ */
1268
+ export const CreateSignedUploadIntentResponseSchema: GenMessage<CreateSignedUploadIntentResponse> = /*@__PURE__*/
1269
+ messageDesc(file_uplim_api_v1_uploads, 17);
1270
+
1271
+ /**
1272
+ * @generated from message uplim.api.v1.RequestSignedUploadRequest
1273
+ */
1274
+ export type RequestSignedUploadRequest = Message<"uplim.api.v1.RequestSignedUploadRequest"> & {
1275
+ /**
1276
+ * @generated from field: string signed_intent_token = 2;
1277
+ */
1278
+ signedIntentToken: string;
1279
+
1280
+ /**
1281
+ * @generated from field: int32 filesize_bytes = 3;
1282
+ */
1283
+ filesizeBytes: number;
1284
+
1285
+ /**
1286
+ * @generated from field: string mime_type = 4;
1287
+ */
1288
+ mimeType: string;
1289
+
1290
+ /**
1291
+ * @generated from field: string extension = 5;
1292
+ */
1293
+ extension: string;
1294
+
1295
+ /**
1296
+ * @generated from field: bool multipart = 6;
1297
+ */
1298
+ multipart: boolean;
1299
+ };
1300
+
1301
+ /**
1302
+ * Describes the message uplim.api.v1.RequestSignedUploadRequest.
1303
+ * Use `create(RequestSignedUploadRequestSchema)` to create a new message.
1304
+ */
1305
+ export const RequestSignedUploadRequestSchema: GenMessage<RequestSignedUploadRequest> = /*@__PURE__*/
1306
+ messageDesc(file_uplim_api_v1_uploads, 18);
1307
+
1308
+ /**
1309
+ * @generated from message uplim.api.v1.CompleteSignedUploadRequest
1310
+ */
1311
+ export type CompleteSignedUploadRequest = Message<"uplim.api.v1.CompleteSignedUploadRequest"> & {
1312
+ /**
1313
+ * @generated from field: string signed_intent_token = 2;
1314
+ */
1315
+ signedIntentToken: string;
1316
+
1317
+ /**
1318
+ * @generated from field: string upload_request_id = 3;
1319
+ */
1320
+ uploadRequestId: string;
1321
+
1322
+ /**
1323
+ * @generated from field: repeated uplim.api.v1.CreateUploadRequest.UploadPartEtag part_etags = 9;
1324
+ */
1325
+ partEtags: CreateUploadRequest_UploadPartEtag[];
1326
+ };
1327
+
1328
+ /**
1329
+ * Describes the message uplim.api.v1.CompleteSignedUploadRequest.
1330
+ * Use `create(CompleteSignedUploadRequestSchema)` to create a new message.
1331
+ */
1332
+ export const CompleteSignedUploadRequestSchema: GenMessage<CompleteSignedUploadRequest> = /*@__PURE__*/
1333
+ messageDesc(file_uplim_api_v1_uploads, 19);
1334
+
1335
+ /**
1336
+ * @generated from message uplim.api.v1.CompleteSignedUploadResponse
1337
+ */
1338
+ export type CompleteSignedUploadResponse = Message<"uplim.api.v1.CompleteSignedUploadResponse"> & {
1339
+ /**
1340
+ * @generated from field: uplim.api.v1.Upload upload = 1;
1341
+ */
1342
+ upload?: Upload;
1343
+ };
1344
+
1345
+ /**
1346
+ * Describes the message uplim.api.v1.CompleteSignedUploadResponse.
1347
+ * Use `create(CompleteSignedUploadResponseSchema)` to create a new message.
1348
+ */
1349
+ export const CompleteSignedUploadResponseSchema: GenMessage<CompleteSignedUploadResponse> = /*@__PURE__*/
1350
+ messageDesc(file_uplim_api_v1_uploads, 20);
1351
+
1352
+ /**
1353
+ * Response message containing upload request details
1354
+ *
1355
+ * @generated from message uplim.api.v1.RequestUploadResponse
1356
+ */
1357
+ export type RequestUploadResponse = Message<"uplim.api.v1.RequestUploadResponse"> & {
1358
+ /**
1359
+ * Unique identifier for the upload
1360
+ *
1361
+ * @generated from field: string upload_id = 1;
1362
+ */
1363
+ uploadId: string;
1364
+
1365
+ /**
1366
+ * Type of upload being requested
1367
+ *
1368
+ * @generated from oneof uplim.api.v1.RequestUploadResponse.upload_type
1369
+ */
1370
+ uploadType: {
1371
+ /**
1372
+ * Multipart upload details
1373
+ *
1374
+ * @generated from field: uplim.api.v1.RequestUploadResponse.Multipart multipart = 2;
1375
+ */
1376
+ value: RequestUploadResponse_Multipart;
1377
+ case: "multipart";
1378
+ } | {
1379
+ /**
1380
+ * Direct upload details
1381
+ *
1382
+ * @generated from field: uplim.api.v1.RequestUploadResponse.Direct direct = 3;
1383
+ */
1384
+ value: RequestUploadResponse_Direct;
1385
+ case: "direct";
1386
+ } | { case: undefined; value?: undefined };
1387
+ };
1388
+
1389
+ /**
1390
+ * Describes the message uplim.api.v1.RequestUploadResponse.
1391
+ * Use `create(RequestUploadResponseSchema)` to create a new message.
1392
+ */
1393
+ export const RequestUploadResponseSchema: GenMessage<RequestUploadResponse> = /*@__PURE__*/
1394
+ messageDesc(file_uplim_api_v1_uploads, 21);
1395
+
1396
+ /**
1397
+ * Details for a multipart upload
1398
+ *
1399
+ * @generated from message uplim.api.v1.RequestUploadResponse.Multipart
1400
+ */
1401
+ export type RequestUploadResponse_Multipart = Message<"uplim.api.v1.RequestUploadResponse.Multipart"> & {
1402
+ /**
1403
+ * List of parts for the multipart upload
1404
+ *
1405
+ * @generated from field: repeated uplim.api.v1.RequestUploadResponse.Multipart.Part parts = 1;
1406
+ */
1407
+ parts: RequestUploadResponse_Multipart_Part[];
1408
+ };
1409
+
1410
+ /**
1411
+ * Describes the message uplim.api.v1.RequestUploadResponse.Multipart.
1412
+ * Use `create(RequestUploadResponse_MultipartSchema)` to create a new message.
1413
+ */
1414
+ export const RequestUploadResponse_MultipartSchema: GenMessage<RequestUploadResponse_Multipart> = /*@__PURE__*/
1415
+ messageDesc(file_uplim_api_v1_uploads, 21, 0);
1416
+
1417
+ /**
1418
+ * Represents a part of a multipart upload
1419
+ *
1420
+ * @generated from message uplim.api.v1.RequestUploadResponse.Multipart.Part
1421
+ */
1422
+ export type RequestUploadResponse_Multipart_Part = Message<"uplim.api.v1.RequestUploadResponse.Multipart.Part"> & {
1423
+ /**
1424
+ * Part number of the upload
1425
+ *
1426
+ * @generated from field: int32 part_number = 1;
1427
+ */
1428
+ partNumber: number;
1429
+
1430
+ /**
1431
+ * Size of the part in bytes
1432
+ *
1433
+ * @generated from field: int32 size_bytes = 2;
1434
+ */
1435
+ sizeBytes: number;
1436
+
1437
+ /**
1438
+ * URL to upload the part
1439
+ *
1440
+ * @generated from field: string upload_url = 3;
1441
+ */
1442
+ uploadUrl: string;
1443
+ };
1444
+
1445
+ /**
1446
+ * Describes the message uplim.api.v1.RequestUploadResponse.Multipart.Part.
1447
+ * Use `create(RequestUploadResponse_Multipart_PartSchema)` to create a new message.
1448
+ */
1449
+ export const RequestUploadResponse_Multipart_PartSchema: GenMessage<RequestUploadResponse_Multipart_Part> = /*@__PURE__*/
1450
+ messageDesc(file_uplim_api_v1_uploads, 21, 0, 0);
1451
+
1452
+ /**
1453
+ * Details for a direct upload
1454
+ *
1455
+ * @generated from message uplim.api.v1.RequestUploadResponse.Direct
1456
+ */
1457
+ export type RequestUploadResponse_Direct = Message<"uplim.api.v1.RequestUploadResponse.Direct"> & {
1458
+ /**
1459
+ * URL to upload the file directly
1460
+ *
1461
+ * @generated from field: string upload_url = 1;
1462
+ */
1463
+ uploadUrl: string;
1464
+
1465
+ /**
1466
+ * URL for POST upload
1467
+ *
1468
+ * @generated from field: string upload_url_post = 2;
1469
+ */
1470
+ uploadUrlPost: string;
1471
+
1472
+ /**
1473
+ * Values required for the upload
1474
+ *
1475
+ * @generated from field: map<string, string> upload_values = 3;
1476
+ */
1477
+ uploadValues: { [key: string]: string };
1478
+ };
1479
+
1480
+ /**
1481
+ * Describes the message uplim.api.v1.RequestUploadResponse.Direct.
1482
+ * Use `create(RequestUploadResponse_DirectSchema)` to create a new message.
1483
+ */
1484
+ export const RequestUploadResponse_DirectSchema: GenMessage<RequestUploadResponse_Direct> = /*@__PURE__*/
1485
+ messageDesc(file_uplim_api_v1_uploads, 21, 1);
1486
+
1487
+ /**
1488
+ * @generated from message uplim.api.v1.RequestUploadListPartsRequest
1489
+ */
1490
+ export type RequestUploadListPartsRequest = Message<"uplim.api.v1.RequestUploadListPartsRequest"> & {
1491
+ /**
1492
+ * Reference to the bucket
1493
+ *
1494
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
1495
+ */
1496
+ bucketRef?: BucketRef;
1497
+
1498
+ /**
1499
+ * ID of the upload to list parts
1500
+ *
1501
+ * @generated from field: string upload_request_id = 2;
1502
+ */
1503
+ uploadRequestId: string;
1504
+ };
1505
+
1506
+ /**
1507
+ * Describes the message uplim.api.v1.RequestUploadListPartsRequest.
1508
+ * Use `create(RequestUploadListPartsRequestSchema)` to create a new message.
1509
+ */
1510
+ export const RequestUploadListPartsRequestSchema: GenMessage<RequestUploadListPartsRequest> = /*@__PURE__*/
1511
+ messageDesc(file_uplim_api_v1_uploads, 22);
1512
+
1513
+ /**
1514
+ * @generated from message uplim.api.v1.RequestUploadListPartsResponse
1515
+ */
1516
+ export type RequestUploadListPartsResponse = Message<"uplim.api.v1.RequestUploadListPartsResponse"> & {
1517
+ /**
1518
+ * @generated from field: repeated uplim.api.v1.RequestUploadListPartsResponse.Part parts = 1;
1519
+ */
1520
+ parts: RequestUploadListPartsResponse_Part[];
1521
+ };
1522
+
1523
+ /**
1524
+ * Describes the message uplim.api.v1.RequestUploadListPartsResponse.
1525
+ * Use `create(RequestUploadListPartsResponseSchema)` to create a new message.
1526
+ */
1527
+ export const RequestUploadListPartsResponseSchema: GenMessage<RequestUploadListPartsResponse> = /*@__PURE__*/
1528
+ messageDesc(file_uplim_api_v1_uploads, 23);
1529
+
1530
+ /**
1531
+ * @generated from message uplim.api.v1.RequestUploadListPartsResponse.Part
1532
+ */
1533
+ export type RequestUploadListPartsResponse_Part = Message<"uplim.api.v1.RequestUploadListPartsResponse.Part"> & {
1534
+ /**
1535
+ * Part number of the upload
1536
+ *
1537
+ * @generated from field: int32 part_number = 1;
1538
+ */
1539
+ partNumber: number;
1540
+
1541
+ /**
1542
+ * Size of the part in bytes
1543
+ *
1544
+ * @generated from field: int64 size_bytes = 2 [jstype = JS_STRING];
1545
+ */
1546
+ sizeBytes: string;
1547
+
1548
+ /**
1549
+ * URL to upload the part
1550
+ *
1551
+ * @generated from field: string etag = 3;
1552
+ */
1553
+ etag: string;
1554
+ };
1555
+
1556
+ /**
1557
+ * Describes the message uplim.api.v1.RequestUploadListPartsResponse.Part.
1558
+ * Use `create(RequestUploadListPartsResponse_PartSchema)` to create a new message.
1559
+ */
1560
+ export const RequestUploadListPartsResponse_PartSchema: GenMessage<RequestUploadListPartsResponse_Part> = /*@__PURE__*/
1561
+ messageDesc(file_uplim_api_v1_uploads, 23, 0);
1562
+
1563
+ /**
1564
+ * @generated from message uplim.api.v1.RequestUploadGetPartRequest
1565
+ */
1566
+ export type RequestUploadGetPartRequest = Message<"uplim.api.v1.RequestUploadGetPartRequest"> & {
1567
+ /**
1568
+ * Reference to the bucket
1569
+ *
1570
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
1571
+ */
1572
+ bucketRef?: BucketRef;
1573
+
1574
+ /**
1575
+ * ID of the upload to list parts
1576
+ *
1577
+ * @generated from field: string upload_request_id = 2;
1578
+ */
1579
+ uploadRequestId: string;
1580
+
1581
+ /**
1582
+ * Part number of the upload
1583
+ *
1584
+ * @generated from field: int32 part_number = 3;
1585
+ */
1586
+ partNumber: number;
1587
+
1588
+ /**
1589
+ * @generated from field: int64 size_bytes = 4 [jstype = JS_STRING];
1590
+ */
1591
+ sizeBytes: string;
1592
+ };
1593
+
1594
+ /**
1595
+ * Describes the message uplim.api.v1.RequestUploadGetPartRequest.
1596
+ * Use `create(RequestUploadGetPartRequestSchema)` to create a new message.
1597
+ */
1598
+ export const RequestUploadGetPartRequestSchema: GenMessage<RequestUploadGetPartRequest> = /*@__PURE__*/
1599
+ messageDesc(file_uplim_api_v1_uploads, 24);
1600
+
1601
+ /**
1602
+ * @generated from message uplim.api.v1.RequestUploadGetPartResponse
1603
+ */
1604
+ export type RequestUploadGetPartResponse = Message<"uplim.api.v1.RequestUploadGetPartResponse"> & {
1605
+ /**
1606
+ * URL to upload the part
1607
+ *
1608
+ * @generated from field: string upload_url = 1;
1609
+ */
1610
+ uploadUrl: string;
1611
+ };
1612
+
1613
+ /**
1614
+ * Describes the message uplim.api.v1.RequestUploadGetPartResponse.
1615
+ * Use `create(RequestUploadGetPartResponseSchema)` to create a new message.
1616
+ */
1617
+ export const RequestUploadGetPartResponseSchema: GenMessage<RequestUploadGetPartResponse> = /*@__PURE__*/
1618
+ messageDesc(file_uplim_api_v1_uploads, 25);
1619
+
1620
+ /**
1621
+ * @generated from message uplim.api.v1.GetUploadDownloadUrlRequest
1622
+ */
1623
+ export type GetUploadDownloadUrlRequest = Message<"uplim.api.v1.GetUploadDownloadUrlRequest"> & {
1624
+ /**
1625
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
1626
+ */
1627
+ bucketRef?: BucketRef;
1628
+
1629
+ /**
1630
+ * @generated from field: repeated string upload_id = 2;
1631
+ */
1632
+ uploadId: string[];
1633
+ };
1634
+
1635
+ /**
1636
+ * Describes the message uplim.api.v1.GetUploadDownloadUrlRequest.
1637
+ * Use `create(GetUploadDownloadUrlRequestSchema)` to create a new message.
1638
+ */
1639
+ export const GetUploadDownloadUrlRequestSchema: GenMessage<GetUploadDownloadUrlRequest> = /*@__PURE__*/
1640
+ messageDesc(file_uplim_api_v1_uploads, 26);
1641
+
1642
+ /**
1643
+ * @generated from message uplim.api.v1.GetUploadDownloadUrlResponse
1644
+ */
1645
+ export type GetUploadDownloadUrlResponse = Message<"uplim.api.v1.GetUploadDownloadUrlResponse"> & {
1646
+ /**
1647
+ * @generated from field: map<string, uplim.api.v1.GetUploadDownloadUrlResponse.Data> results = 1;
1648
+ */
1649
+ results: { [key: string]: GetUploadDownloadUrlResponse_Data };
1650
+ };
1651
+
1652
+ /**
1653
+ * Describes the message uplim.api.v1.GetUploadDownloadUrlResponse.
1654
+ * Use `create(GetUploadDownloadUrlResponseSchema)` to create a new message.
1655
+ */
1656
+ export const GetUploadDownloadUrlResponseSchema: GenMessage<GetUploadDownloadUrlResponse> = /*@__PURE__*/
1657
+ messageDesc(file_uplim_api_v1_uploads, 27);
1658
+
1659
+ /**
1660
+ * @generated from message uplim.api.v1.GetUploadDownloadUrlResponse.Data
1661
+ */
1662
+ export type GetUploadDownloadUrlResponse_Data = Message<"uplim.api.v1.GetUploadDownloadUrlResponse.Data"> & {
1663
+ /**
1664
+ * @generated from field: string thumbnail_url = 1;
1665
+ */
1666
+ thumbnailUrl: string;
1667
+
1668
+ /**
1669
+ * @generated from field: string content_url = 2;
1670
+ */
1671
+ contentUrl: string;
1672
+ };
1673
+
1674
+ /**
1675
+ * Describes the message uplim.api.v1.GetUploadDownloadUrlResponse.Data.
1676
+ * Use `create(GetUploadDownloadUrlResponse_DataSchema)` to create a new message.
1677
+ */
1678
+ export const GetUploadDownloadUrlResponse_DataSchema: GenMessage<GetUploadDownloadUrlResponse_Data> = /*@__PURE__*/
1679
+ messageDesc(file_uplim_api_v1_uploads, 27, 0);
1680
+
1681
+ /**
1682
+ * Represents a historical version of an upload, created when content is replaced
1683
+ *
1684
+ * @generated from message uplim.api.v1.UploadHistoryEntry
1685
+ */
1686
+ export type UploadHistoryEntry = Message<"uplim.api.v1.UploadHistoryEntry"> & {
1687
+ /**
1688
+ * Unique history entry ID
1689
+ *
1690
+ * @generated from field: string history_id = 1;
1691
+ */
1692
+ historyId: string;
1693
+
1694
+ /**
1695
+ * The upload this history entry belongs to
1696
+ *
1697
+ * @generated from field: string upload_id = 2;
1698
+ */
1699
+ uploadId: string;
1700
+
1701
+ /**
1702
+ * Version number (increments with each replacement)
1703
+ *
1704
+ * @generated from field: int32 version = 3;
1705
+ */
1706
+ version: number;
1707
+
1708
+ /**
1709
+ * File size in bytes at the time of this version
1710
+ *
1711
+ * @generated from field: int64 size_bytes = 5 [jstype = JS_STRING];
1712
+ */
1713
+ sizeBytes: string;
1714
+
1715
+ /**
1716
+ * File type at the time of this version
1717
+ *
1718
+ * @generated from field: uplim.api.v1.UploadType type = 6;
1719
+ */
1720
+ type: UploadType;
1721
+
1722
+ /**
1723
+ * When this version was replaced by a newer one
1724
+ *
1725
+ * @generated from field: google.protobuf.Timestamp replaced_at = 7;
1726
+ */
1727
+ replacedAt?: Timestamp;
1728
+
1729
+ /**
1730
+ * Meta uploads (thumbnails, etc.) from this version
1731
+ *
1732
+ * @generated from field: repeated uplim.api.v1.MetaUpload meta_uploads = 8;
1733
+ */
1734
+ metaUploads: MetaUpload[];
1735
+
1736
+ /**
1737
+ * The user who created this history entry (i.e., who replaced this version)
1738
+ *
1739
+ * @generated from field: optional uplim.api.v1.BasicUser author = 9;
1740
+ */
1741
+ author?: BasicUser;
1742
+
1743
+ /**
1744
+ * True when this entry records a caller's content that LOST a conflict
1745
+ * check: the caller sent `last_synced_at` on CreateUpload, but the
1746
+ * target had been modified since. The entry holds the caller's bytes;
1747
+ * the parent Upload's current content is unchanged by this entry.
1748
+ * Normal replacement history has `is_conflict = false`.
1749
+ *
1750
+ * @generated from field: bool is_conflict = 10;
1751
+ */
1752
+ isConflict: boolean;
1753
+ };
1754
+
1755
+ /**
1756
+ * Describes the message uplim.api.v1.UploadHistoryEntry.
1757
+ * Use `create(UploadHistoryEntrySchema)` to create a new message.
1758
+ */
1759
+ export const UploadHistoryEntrySchema: GenMessage<UploadHistoryEntry> = /*@__PURE__*/
1760
+ messageDesc(file_uplim_api_v1_uploads, 28);
1761
+
1762
+ /**
1763
+ * @generated from message uplim.api.v1.ListUploadHistoryRequest
1764
+ */
1765
+ export type ListUploadHistoryRequest = Message<"uplim.api.v1.ListUploadHistoryRequest"> & {
1766
+ /**
1767
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
1768
+ */
1769
+ bucketRef?: BucketRef;
1770
+
1771
+ /**
1772
+ * Reference to the upload (by ID or path)
1773
+ *
1774
+ * @generated from field: uplim.api.v1.UploadRef upload_ref = 2;
1775
+ */
1776
+ uploadRef?: UploadRef;
1777
+ };
1778
+
1779
+ /**
1780
+ * Describes the message uplim.api.v1.ListUploadHistoryRequest.
1781
+ * Use `create(ListUploadHistoryRequestSchema)` to create a new message.
1782
+ */
1783
+ export const ListUploadHistoryRequestSchema: GenMessage<ListUploadHistoryRequest> = /*@__PURE__*/
1784
+ messageDesc(file_uplim_api_v1_uploads, 29);
1785
+
1786
+ /**
1787
+ * @generated from message uplim.api.v1.ListUploadHistoryResponse
1788
+ */
1789
+ export type ListUploadHistoryResponse = Message<"uplim.api.v1.ListUploadHistoryResponse"> & {
1790
+ /**
1791
+ * @generated from field: repeated uplim.api.v1.UploadHistoryEntry history = 1;
1792
+ */
1793
+ history: UploadHistoryEntry[];
1794
+ };
1795
+
1796
+ /**
1797
+ * Describes the message uplim.api.v1.ListUploadHistoryResponse.
1798
+ * Use `create(ListUploadHistoryResponseSchema)` to create a new message.
1799
+ */
1800
+ export const ListUploadHistoryResponseSchema: GenMessage<ListUploadHistoryResponse> = /*@__PURE__*/
1801
+ messageDesc(file_uplim_api_v1_uploads, 30);
1802
+
1803
+ /**
1804
+ * @generated from message uplim.api.v1.GetUploadHistoryContentRequest
1805
+ */
1806
+ export type GetUploadHistoryContentRequest = Message<"uplim.api.v1.GetUploadHistoryContentRequest"> & {
1807
+ /**
1808
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
1809
+ */
1810
+ bucketRef?: BucketRef;
1811
+
1812
+ /**
1813
+ * @generated from field: string history_id = 2;
1814
+ */
1815
+ historyId: string;
1816
+ };
1817
+
1818
+ /**
1819
+ * Describes the message uplim.api.v1.GetUploadHistoryContentRequest.
1820
+ * Use `create(GetUploadHistoryContentRequestSchema)` to create a new message.
1821
+ */
1822
+ export const GetUploadHistoryContentRequestSchema: GenMessage<GetUploadHistoryContentRequest> = /*@__PURE__*/
1823
+ messageDesc(file_uplim_api_v1_uploads, 31);
1824
+
1825
+ /**
1826
+ * @generated from message uplim.api.v1.GetUploadHistoryContentResponse
1827
+ */
1828
+ export type GetUploadHistoryContentResponse = Message<"uplim.api.v1.GetUploadHistoryContentResponse"> & {
1829
+ /**
1830
+ * @generated from field: string content_url = 1;
1831
+ */
1832
+ contentUrl: string;
1833
+
1834
+ /**
1835
+ * @generated from field: uplim.api.v1.UploadHistoryEntry history = 2;
1836
+ */
1837
+ history?: UploadHistoryEntry;
1838
+ };
1839
+
1840
+ /**
1841
+ * Describes the message uplim.api.v1.GetUploadHistoryContentResponse.
1842
+ * Use `create(GetUploadHistoryContentResponseSchema)` to create a new message.
1843
+ */
1844
+ export const GetUploadHistoryContentResponseSchema: GenMessage<GetUploadHistoryContentResponse> = /*@__PURE__*/
1845
+ messageDesc(file_uplim_api_v1_uploads, 32);
1846
+
1847
+ /**
1848
+ * @generated from message uplim.api.v1.RestoreUploadFromHistoryRequest
1849
+ */
1850
+ export type RestoreUploadFromHistoryRequest = Message<"uplim.api.v1.RestoreUploadFromHistoryRequest"> & {
1851
+ /**
1852
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
1853
+ */
1854
+ bucketRef?: BucketRef;
1855
+
1856
+ /**
1857
+ * @generated from field: string history_id = 2;
1858
+ */
1859
+ historyId: string;
1860
+ };
1861
+
1862
+ /**
1863
+ * Describes the message uplim.api.v1.RestoreUploadFromHistoryRequest.
1864
+ * Use `create(RestoreUploadFromHistoryRequestSchema)` to create a new message.
1865
+ */
1866
+ export const RestoreUploadFromHistoryRequestSchema: GenMessage<RestoreUploadFromHistoryRequest> = /*@__PURE__*/
1867
+ messageDesc(file_uplim_api_v1_uploads, 33);
1868
+
1869
+ /**
1870
+ * @generated from message uplim.api.v1.RestoreUploadFromHistoryResponse
1871
+ */
1872
+ export type RestoreUploadFromHistoryResponse = Message<"uplim.api.v1.RestoreUploadFromHistoryResponse"> & {
1873
+ /**
1874
+ * @generated from field: uplim.api.v1.Upload upload = 1;
1875
+ */
1876
+ upload?: Upload;
1877
+ };
1878
+
1879
+ /**
1880
+ * Describes the message uplim.api.v1.RestoreUploadFromHistoryResponse.
1881
+ * Use `create(RestoreUploadFromHistoryResponseSchema)` to create a new message.
1882
+ */
1883
+ export const RestoreUploadFromHistoryResponseSchema: GenMessage<RestoreUploadFromHistoryResponse> = /*@__PURE__*/
1884
+ messageDesc(file_uplim_api_v1_uploads, 34);
1885
+
1886
+ /**
1887
+ * @generated from message uplim.api.v1.DeleteUploadHistoryRequest
1888
+ */
1889
+ export type DeleteUploadHistoryRequest = Message<"uplim.api.v1.DeleteUploadHistoryRequest"> & {
1890
+ /**
1891
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
1892
+ */
1893
+ bucketRef?: BucketRef;
1894
+
1895
+ /**
1896
+ * @generated from oneof uplim.api.v1.DeleteUploadHistoryRequest.target
1897
+ */
1898
+ target: {
1899
+ /**
1900
+ * Delete a specific history entry
1901
+ *
1902
+ * @generated from field: string history_id = 2;
1903
+ */
1904
+ value: string;
1905
+ case: "historyId";
1906
+ } | {
1907
+ /**
1908
+ * Delete all history for an upload
1909
+ *
1910
+ * @generated from field: string upload_id = 3;
1911
+ */
1912
+ value: string;
1913
+ case: "uploadId";
1914
+ } | { case: undefined; value?: undefined };
1915
+ };
1916
+
1917
+ /**
1918
+ * Describes the message uplim.api.v1.DeleteUploadHistoryRequest.
1919
+ * Use `create(DeleteUploadHistoryRequestSchema)` to create a new message.
1920
+ */
1921
+ export const DeleteUploadHistoryRequestSchema: GenMessage<DeleteUploadHistoryRequest> = /*@__PURE__*/
1922
+ messageDesc(file_uplim_api_v1_uploads, 35);
1923
+
1924
+ /**
1925
+ * Represents a folder within a bucket
1926
+ *
1927
+ * @generated from message uplim.api.v1.Folder
1928
+ */
1929
+ export type Folder = Message<"uplim.api.v1.Folder"> & {
1930
+ /**
1931
+ * Unique identifier for the folder
1932
+ *
1933
+ * @generated from field: string folder_id = 1;
1934
+ */
1935
+ folderId: string;
1936
+
1937
+ /**
1938
+ * Path of the folder
1939
+ *
1940
+ * @generated from field: string path = 2;
1941
+ */
1942
+ path: string;
1943
+
1944
+ /**
1945
+ * Path of the parent folder
1946
+ *
1947
+ * @generated from field: string parent_path = 3;
1948
+ */
1949
+ parentPath: string;
1950
+
1951
+ /**
1952
+ * Display colour for the folder (hex code)
1953
+ *
1954
+ * @generated from field: optional string colour = 4;
1955
+ */
1956
+ colour?: string;
1957
+
1958
+ /**
1959
+ * Whether this folder has public directory listing enabled
1960
+ *
1961
+ * @generated from field: optional bool has_public_directory_listing = 5;
1962
+ */
1963
+ hasPublicDirectoryListing?: boolean;
1964
+
1965
+ /**
1966
+ * Whether public directory listing is inherited from a parent folder
1967
+ *
1968
+ * @generated from field: optional bool inherited_has_directory_listing = 6;
1969
+ */
1970
+ inheritedHasDirectoryListing?: boolean;
1971
+
1972
+ /**
1973
+ * Whether this folder has private access enabled (requires authentication)
1974
+ *
1975
+ * @generated from field: optional bool private_access = 7;
1976
+ */
1977
+ privateAccess?: boolean;
1978
+
1979
+ /**
1980
+ * Whether private access is inherited from a parent folder
1981
+ *
1982
+ * @generated from field: optional bool inherited_private_access = 8;
1983
+ */
1984
+ inheritedPrivateAccess?: boolean;
1985
+
1986
+ /**
1987
+ * True if this folder is a share root (entry point for folder-level access)
1988
+ *
1989
+ * @generated from field: bool is_share_root = 9;
1990
+ */
1991
+ isShareRoot: boolean;
1992
+
1993
+ /**
1994
+ * Integration ID that owns/scopes this folder (for @integration: folders)
1995
+ *
1996
+ * @generated from field: optional string scoping_integration_id = 10;
1997
+ */
1998
+ scopingIntegrationId?: string;
1999
+
2000
+ /**
2001
+ * Integration details for the scoping integration
2002
+ *
2003
+ * @generated from field: optional uplim.api.v1.IntegrationRef scoping_integration = 11;
2004
+ */
2005
+ scopingIntegration?: IntegrationRef;
2006
+
2007
+ /**
2008
+ * Marks a folder as a virtual file exposed by an integrating app
2009
+ *
2010
+ * @generated from field: optional bool virtual_file_enabled = 12;
2011
+ */
2012
+ virtualFileEnabled?: boolean;
2013
+
2014
+ /**
2015
+ * Display name used when representing the folder as a file
2016
+ *
2017
+ * @generated from field: optional string virtual_file_name = 13;
2018
+ */
2019
+ virtualFileName?: string;
2020
+
2021
+ /**
2022
+ * Integration that registered the virtual file behavior
2023
+ *
2024
+ * @generated from field: optional string virtual_file_integration_id = 14;
2025
+ */
2026
+ virtualFileIntegrationId?: string;
2027
+
2028
+ /**
2029
+ * Integration details for the virtual file owner
2030
+ *
2031
+ * @generated from field: optional uplim.api.v1.IntegrationRef virtual_file_integration = 15;
2032
+ */
2033
+ virtualFileIntegration?: IntegrationRef;
2034
+
2035
+ /**
2036
+ * Upload ID of the root upload that represents this virtual file folder.
2037
+ * The media pipeline runs against this upload instead of individual contents.
2038
+ *
2039
+ * @generated from field: optional string virtual_file_root_upload_id = 16;
2040
+ */
2041
+ virtualFileRootUploadId?: string;
2042
+
2043
+ /**
2044
+ * The true storage path, including any scoping prefix.
2045
+ *
2046
+ * @generated from field: string external_path = 17;
2047
+ */
2048
+ externalPath: string;
2049
+
2050
+ /**
2051
+ * The true parent path, including any scoping prefix.
2052
+ *
2053
+ * @generated from field: string external_parent_path = 18;
2054
+ */
2055
+ externalParentPath: string;
2056
+
2057
+ /**
2058
+ * Sort order within the parent folder
2059
+ *
2060
+ * @generated from field: int32 order = 19;
2061
+ */
2062
+ order: number;
2063
+
2064
+ /**
2065
+ * Whether this folder is hidden from non-integration clients.
2066
+ * Only settable on integration folders (scoping_integration_id set) or virtual files.
2067
+ *
2068
+ * @generated from field: bool integration_hidden = 20;
2069
+ */
2070
+ integrationHidden: boolean;
2071
+
2072
+ /**
2073
+ * When the folder was created (gorm.Model.CreatedAt). Surfaced so
2074
+ * FileProvider clients can populate creationDate / modificationDate
2075
+ * instead of falling back to the Unix epoch.
2076
+ *
2077
+ * @generated from field: google.protobuf.Timestamp created_at = 21;
2078
+ */
2079
+ createdAt?: Timestamp;
2080
+
2081
+ /**
2082
+ * When the folder was last updated (gorm.Model.UpdatedAt). Bumped
2083
+ * by any folder-row write — including renames, moves, and child
2084
+ * additions via the directory-scaffolding path.
2085
+ *
2086
+ * @generated from field: google.protobuf.Timestamp updated_at = 22;
2087
+ */
2088
+ updatedAt?: Timestamp;
2089
+ };
2090
+
2091
+ /**
2092
+ * Describes the message uplim.api.v1.Folder.
2093
+ * Use `create(FolderSchema)` to create a new message.
2094
+ */
2095
+ export const FolderSchema: GenMessage<Folder> = /*@__PURE__*/
2096
+ messageDesc(file_uplim_api_v1_uploads, 36);
2097
+
2098
+ /**
2099
+ * Settings for configuring a folder as a virtual file
2100
+ *
2101
+ * @generated from message uplim.api.v1.VirtualFileSettings
2102
+ */
2103
+ export type VirtualFileSettings = Message<"uplim.api.v1.VirtualFileSettings"> & {
2104
+ /**
2105
+ * Whether virtual file mode is enabled for this folder
2106
+ *
2107
+ * @generated from field: bool enabled = 1;
2108
+ */
2109
+ enabled: boolean;
2110
+
2111
+ /**
2112
+ * Display name shown when the folder appears as a file
2113
+ *
2114
+ * @generated from field: optional string name = 2;
2115
+ */
2116
+ name?: string;
2117
+
2118
+ /**
2119
+ * Upload ID of the root upload that represents this virtual file.
2120
+ * When set, the media pipeline skips individual contents and runs against this upload.
2121
+ *
2122
+ * @generated from field: optional string root_upload_id = 3;
2123
+ */
2124
+ rootUploadId?: string;
2125
+ };
2126
+
2127
+ /**
2128
+ * Describes the message uplim.api.v1.VirtualFileSettings.
2129
+ * Use `create(VirtualFileSettingsSchema)` to create a new message.
2130
+ */
2131
+ export const VirtualFileSettingsSchema: GenMessage<VirtualFileSettings> = /*@__PURE__*/
2132
+ messageDesc(file_uplim_api_v1_uploads, 37);
2133
+
2134
+ /**
2135
+ * Request message for listing folders in a bucket
2136
+ *
2137
+ * @generated from message uplim.api.v1.ListFoldersRequest
2138
+ */
2139
+ export type ListFoldersRequest = Message<"uplim.api.v1.ListFoldersRequest"> & {
2140
+ /**
2141
+ * Reference to the bucket
2142
+ *
2143
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
2144
+ */
2145
+ bucketRef?: BucketRef;
2146
+
2147
+ /**
2148
+ * Directory to list folders from
2149
+ *
2150
+ * @generated from field: uplim.api.v1.FolderRef folder = 2;
2151
+ */
2152
+ folder?: FolderRef;
2153
+
2154
+ /**
2155
+ * @generated from field: bool include_breadcrumbs = 3;
2156
+ */
2157
+ includeBreadcrumbs: boolean;
2158
+
2159
+ /**
2160
+ * Field to sort by: "path" (default), "order", "created_at"
2161
+ *
2162
+ * @generated from field: optional string sort_by = 4;
2163
+ */
2164
+ sortBy?: string;
2165
+
2166
+ /**
2167
+ * Sort direction: "asc" (default) or "desc"
2168
+ *
2169
+ * @generated from field: optional string sort_order = 5;
2170
+ */
2171
+ sortOrder?: string;
2172
+
2173
+ /**
2174
+ * When true, includes integration-hidden folders in the results
2175
+ *
2176
+ * @generated from field: bool show_hidden = 6;
2177
+ */
2178
+ showHidden: boolean;
2179
+ };
2180
+
2181
+ /**
2182
+ * Describes the message uplim.api.v1.ListFoldersRequest.
2183
+ * Use `create(ListFoldersRequestSchema)` to create a new message.
2184
+ */
2185
+ export const ListFoldersRequestSchema: GenMessage<ListFoldersRequest> = /*@__PURE__*/
2186
+ messageDesc(file_uplim_api_v1_uploads, 38);
2187
+
2188
+ /**
2189
+ * Response message containing a list of folders
2190
+ *
2191
+ * @generated from message uplim.api.v1.ListFoldersResponse
2192
+ */
2193
+ export type ListFoldersResponse = Message<"uplim.api.v1.ListFoldersResponse"> & {
2194
+ /**
2195
+ * List of folders in the specified directory
2196
+ *
2197
+ * @generated from field: repeated uplim.api.v1.Folder folders = 1;
2198
+ */
2199
+ folders: Folder[];
2200
+
2201
+ /**
2202
+ * @generated from field: repeated uplim.api.v1.Folder breadcrumbs = 2;
2203
+ */
2204
+ breadcrumbs: Folder[];
2205
+ };
2206
+
2207
+ /**
2208
+ * Describes the message uplim.api.v1.ListFoldersResponse.
2209
+ * Use `create(ListFoldersResponseSchema)` to create a new message.
2210
+ */
2211
+ export const ListFoldersResponseSchema: GenMessage<ListFoldersResponse> = /*@__PURE__*/
2212
+ messageDesc(file_uplim_api_v1_uploads, 39);
2213
+
2214
+ /**
2215
+ * Request message for creating a new folder
2216
+ *
2217
+ * @generated from message uplim.api.v1.CreateFolderRequest
2218
+ */
2219
+ export type CreateFolderRequest = Message<"uplim.api.v1.CreateFolderRequest"> & {
2220
+ /**
2221
+ * Reference to the bucket
2222
+ *
2223
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
2224
+ */
2225
+ bucketRef?: BucketRef;
2226
+
2227
+ /**
2228
+ * Name of the new folder
2229
+ *
2230
+ * @generated from field: string name = 2;
2231
+ */
2232
+ name: string;
2233
+
2234
+ /**
2235
+ * Path of the parent folder
2236
+ *
2237
+ * @generated from field: string parent_path = 3;
2238
+ */
2239
+ parentPath: string;
2240
+
2241
+ /**
2242
+ * @generated from field: optional uplim.api.v1.VirtualFileSettings virtual_file = 4;
2243
+ */
2244
+ virtualFile?: VirtualFileSettings;
2245
+ };
2246
+
2247
+ /**
2248
+ * Describes the message uplim.api.v1.CreateFolderRequest.
2249
+ * Use `create(CreateFolderRequestSchema)` to create a new message.
2250
+ */
2251
+ export const CreateFolderRequestSchema: GenMessage<CreateFolderRequest> = /*@__PURE__*/
2252
+ messageDesc(file_uplim_api_v1_uploads, 40);
2253
+
2254
+ /**
2255
+ * Response message containing the created folder
2256
+ *
2257
+ * @generated from message uplim.api.v1.CreateFolderResponse
2258
+ */
2259
+ export type CreateFolderResponse = Message<"uplim.api.v1.CreateFolderResponse"> & {
2260
+ /**
2261
+ * The newly created folder
2262
+ *
2263
+ * @generated from field: uplim.api.v1.Folder folder = 1;
2264
+ */
2265
+ folder?: Folder;
2266
+ };
2267
+
2268
+ /**
2269
+ * Describes the message uplim.api.v1.CreateFolderResponse.
2270
+ * Use `create(CreateFolderResponseSchema)` to create a new message.
2271
+ */
2272
+ export const CreateFolderResponseSchema: GenMessage<CreateFolderResponse> = /*@__PURE__*/
2273
+ messageDesc(file_uplim_api_v1_uploads, 41);
2274
+
2275
+ /**
2276
+ * @generated from message uplim.api.v1.DeleteFolderRequest
2277
+ */
2278
+ export type DeleteFolderRequest = Message<"uplim.api.v1.DeleteFolderRequest"> & {
2279
+ /**
2280
+ * Reference to the bucket
2281
+ *
2282
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
2283
+ */
2284
+ bucketRef?: BucketRef;
2285
+
2286
+ /**
2287
+ * ID of the folder to delete
2288
+ *
2289
+ * @generated from field: string folder_id = 2;
2290
+ */
2291
+ folderId: string;
2292
+ };
2293
+
2294
+ /**
2295
+ * Describes the message uplim.api.v1.DeleteFolderRequest.
2296
+ * Use `create(DeleteFolderRequestSchema)` to create a new message.
2297
+ */
2298
+ export const DeleteFolderRequestSchema: GenMessage<DeleteFolderRequest> = /*@__PURE__*/
2299
+ messageDesc(file_uplim_api_v1_uploads, 42);
2300
+
2301
+ /**
2302
+ * @generated from message uplim.api.v1.UpdateFolderRequest
2303
+ */
2304
+ export type UpdateFolderRequest = Message<"uplim.api.v1.UpdateFolderRequest"> & {
2305
+ /**
2306
+ * Reference to the bucket
2307
+ *
2308
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
2309
+ */
2310
+ bucketRef?: BucketRef;
2311
+
2312
+ /**
2313
+ * ID of the folder to update
2314
+ *
2315
+ * @generated from field: uplim.api.v1.FolderRef folder_ref = 2;
2316
+ */
2317
+ folderRef?: FolderRef;
2318
+
2319
+ /**
2320
+ * @generated from field: optional string colour = 3;
2321
+ */
2322
+ colour?: string;
2323
+
2324
+ /**
2325
+ * @generated from oneof uplim.api.v1.UpdateFolderRequest.directory_listing
2326
+ */
2327
+ directoryListing: {
2328
+ /**
2329
+ * @generated from field: bool has_public_directory_listing = 4;
2330
+ */
2331
+ value: boolean;
2332
+ case: "hasPublicDirectoryListing";
2333
+ } | {
2334
+ /**
2335
+ * @generated from field: bool inherit_has_directory_listing = 5;
2336
+ */
2337
+ value: boolean;
2338
+ case: "inheritHasDirectoryListing";
2339
+ } | { case: undefined; value?: undefined };
2340
+
2341
+ /**
2342
+ * @generated from oneof uplim.api.v1.UpdateFolderRequest.access
2343
+ */
2344
+ access: {
2345
+ /**
2346
+ * @generated from field: bool private_access = 6;
2347
+ */
2348
+ value: boolean;
2349
+ case: "privateAccess";
2350
+ } | {
2351
+ /**
2352
+ * @generated from field: bool inherit_private_access = 7;
2353
+ */
2354
+ value: boolean;
2355
+ case: "inheritPrivateAccess";
2356
+ } | { case: undefined; value?: undefined };
2357
+
2358
+ /**
2359
+ * New name for the folder (renames the folder and updates all children)
2360
+ *
2361
+ * @generated from field: optional string name = 8;
2362
+ */
2363
+ name?: string;
2364
+
2365
+ /**
2366
+ * Virtual file update fields (only apply when folder is a virtual file folder).
2367
+ * virtual_file_name is the user-visible label; inner uploads keep their stable
2368
+ * slug identifiers (e.g. "yjs.json"), no cascade.
2369
+ *
2370
+ * @generated from field: optional string virtual_file_name = 10;
2371
+ */
2372
+ virtualFileName?: string;
2373
+
2374
+ /**
2375
+ * Tags to set on uploads inside this virtual file folder.
2376
+ *
2377
+ * @generated from field: repeated string tags = 11;
2378
+ */
2379
+ tags: string[];
2380
+
2381
+ /**
2382
+ * Field mask controlling which virtual file fields to apply.
2383
+ *
2384
+ * @generated from field: google.protobuf.FieldMask update_mask = 12;
2385
+ */
2386
+ updateMask?: FieldMask;
2387
+
2388
+ /**
2389
+ * Sort order within the parent folder
2390
+ *
2391
+ * @generated from field: optional int32 order = 13;
2392
+ */
2393
+ order?: number;
2394
+
2395
+ /**
2396
+ * Whether this folder is hidden from non-integration clients.
2397
+ * Only settable by integration API key clients.
2398
+ *
2399
+ * @generated from field: optional bool integration_hidden = 14;
2400
+ */
2401
+ integrationHidden?: boolean;
2402
+ };
2403
+
2404
+ /**
2405
+ * Describes the message uplim.api.v1.UpdateFolderRequest.
2406
+ * Use `create(UpdateFolderRequestSchema)` to create a new message.
2407
+ */
2408
+ export const UpdateFolderRequestSchema: GenMessage<UpdateFolderRequest> = /*@__PURE__*/
2409
+ messageDesc(file_uplim_api_v1_uploads, 43);
2410
+
2411
+ /**
2412
+ * @generated from message uplim.api.v1.UpdateFolderResponse
2413
+ */
2414
+ export type UpdateFolderResponse = Message<"uplim.api.v1.UpdateFolderResponse"> & {
2415
+ /**
2416
+ * The updated folder
2417
+ *
2418
+ * @generated from field: uplim.api.v1.Folder folder = 1;
2419
+ */
2420
+ folder?: Folder;
2421
+ };
2422
+
2423
+ /**
2424
+ * Describes the message uplim.api.v1.UpdateFolderResponse.
2425
+ * Use `create(UpdateFolderResponseSchema)` to create a new message.
2426
+ */
2427
+ export const UpdateFolderResponseSchema: GenMessage<UpdateFolderResponse> = /*@__PURE__*/
2428
+ messageDesc(file_uplim_api_v1_uploads, 44);
2429
+
2430
+ /**
2431
+ * @generated from message uplim.api.v1.GetFolderRequest
2432
+ */
2433
+ export type GetFolderRequest = Message<"uplim.api.v1.GetFolderRequest"> & {
2434
+ /**
2435
+ * Reference to the bucket
2436
+ *
2437
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
2438
+ */
2439
+ bucketRef?: BucketRef;
2440
+
2441
+ /**
2442
+ * @generated from field: uplim.api.v1.FolderRef folder_ref = 2;
2443
+ */
2444
+ folderRef?: FolderRef;
2445
+ };
2446
+
2447
+ /**
2448
+ * Describes the message uplim.api.v1.GetFolderRequest.
2449
+ * Use `create(GetFolderRequestSchema)` to create a new message.
2450
+ */
2451
+ export const GetFolderRequestSchema: GenMessage<GetFolderRequest> = /*@__PURE__*/
2452
+ messageDesc(file_uplim_api_v1_uploads, 45);
2453
+
2454
+ /**
2455
+ * @generated from message uplim.api.v1.GetFolderResponse
2456
+ */
2457
+ export type GetFolderResponse = Message<"uplim.api.v1.GetFolderResponse"> & {
2458
+ /**
2459
+ * The requested folder
2460
+ *
2461
+ * @generated from field: uplim.api.v1.Folder folder = 1;
2462
+ */
2463
+ folder?: Folder;
2464
+ };
2465
+
2466
+ /**
2467
+ * Describes the message uplim.api.v1.GetFolderResponse.
2468
+ * Use `create(GetFolderResponseSchema)` to create a new message.
2469
+ */
2470
+ export const GetFolderResponseSchema: GenMessage<GetFolderResponse> = /*@__PURE__*/
2471
+ messageDesc(file_uplim_api_v1_uploads, 46);
2472
+
2473
+ /**
2474
+ * @generated from message uplim.api.v1.TreePathFilter
2475
+ */
2476
+ export type TreePathFilter = Message<"uplim.api.v1.TreePathFilter"> & {
2477
+ /**
2478
+ * @generated from field: optional string prefix = 1;
2479
+ */
2480
+ prefix?: string;
2481
+
2482
+ /**
2483
+ * @generated from field: optional string suffix = 2;
2484
+ */
2485
+ suffix?: string;
2486
+
2487
+ /**
2488
+ * @generated from field: optional string contains = 3;
2489
+ */
2490
+ contains?: string;
2491
+ };
2492
+
2493
+ /**
2494
+ * Describes the message uplim.api.v1.TreePathFilter.
2495
+ * Use `create(TreePathFilterSchema)` to create a new message.
2496
+ */
2497
+ export const TreePathFilterSchema: GenMessage<TreePathFilter> = /*@__PURE__*/
2498
+ messageDesc(file_uplim_api_v1_uploads, 47);
2499
+
2500
+ /**
2501
+ * @generated from message uplim.api.v1.TreeUploadFilterCondition
2502
+ */
2503
+ export type TreeUploadFilterCondition = Message<"uplim.api.v1.TreeUploadFilterCondition"> & {
2504
+ /**
2505
+ * @generated from oneof uplim.api.v1.TreeUploadFilterCondition.condition
2506
+ */
2507
+ condition: {
2508
+ /**
2509
+ * @generated from field: string slug_exact = 5;
2510
+ */
2511
+ value: string;
2512
+ case: "slugExact";
2513
+ } | {
2514
+ /**
2515
+ * @generated from field: string slug_prefix = 6;
2516
+ */
2517
+ value: string;
2518
+ case: "slugPrefix";
2519
+ } | {
2520
+ /**
2521
+ * @generated from field: string slug_suffix = 7;
2522
+ */
2523
+ value: string;
2524
+ case: "slugSuffix";
2525
+ } | {
2526
+ /**
2527
+ * @generated from field: string slug_contains = 8;
2528
+ */
2529
+ value: string;
2530
+ case: "slugContains";
2531
+ } | { case: undefined; value?: undefined };
2532
+ };
2533
+
2534
+ /**
2535
+ * Describes the message uplim.api.v1.TreeUploadFilterCondition.
2536
+ * Use `create(TreeUploadFilterConditionSchema)` to create a new message.
2537
+ */
2538
+ export const TreeUploadFilterConditionSchema: GenMessage<TreeUploadFilterCondition> = /*@__PURE__*/
2539
+ messageDesc(file_uplim_api_v1_uploads, 48);
2540
+
2541
+ /**
2542
+ * @generated from message uplim.api.v1.TreeUploadFilter
2543
+ */
2544
+ export type TreeUploadFilter = Message<"uplim.api.v1.TreeUploadFilter"> & {
2545
+ /**
2546
+ * @generated from field: repeated uplim.api.v1.TreeUploadFilterCondition conditions = 1;
2547
+ */
2548
+ conditions: TreeUploadFilterCondition[];
2549
+
2550
+ /**
2551
+ * @generated from field: uplim.api.v1.TreeUploadFilterMode mode = 2;
2552
+ */
2553
+ mode: TreeUploadFilterMode;
2554
+ };
2555
+
2556
+ /**
2557
+ * Describes the message uplim.api.v1.TreeUploadFilter.
2558
+ * Use `create(TreeUploadFilterSchema)` to create a new message.
2559
+ */
2560
+ export const TreeUploadFilterSchema: GenMessage<TreeUploadFilter> = /*@__PURE__*/
2561
+ messageDesc(file_uplim_api_v1_uploads, 49);
2562
+
2563
+ /**
2564
+ * @generated from message uplim.api.v1.TreeNode
2565
+ */
2566
+ export type TreeNode = Message<"uplim.api.v1.TreeNode"> & {
2567
+ /**
2568
+ * @generated from oneof uplim.api.v1.TreeNode.item
2569
+ */
2570
+ item: {
2571
+ /**
2572
+ * @generated from field: uplim.api.v1.Folder folder = 1;
2573
+ */
2574
+ value: Folder;
2575
+ case: "folder";
2576
+ } | {
2577
+ /**
2578
+ * @generated from field: uplim.api.v1.Upload upload = 2;
2579
+ */
2580
+ value: Upload;
2581
+ case: "upload";
2582
+ } | { case: undefined; value?: undefined };
2583
+
2584
+ /**
2585
+ * @generated from field: bool matches_filter = 3;
2586
+ */
2587
+ matchesFilter: boolean;
2588
+
2589
+ /**
2590
+ * @generated from field: repeated uplim.api.v1.TreeNode children = 4;
2591
+ */
2592
+ children: TreeNode[];
2593
+ };
2594
+
2595
+ /**
2596
+ * Describes the message uplim.api.v1.TreeNode.
2597
+ * Use `create(TreeNodeSchema)` to create a new message.
2598
+ */
2599
+ export const TreeNodeSchema: GenMessage<TreeNode> = /*@__PURE__*/
2600
+ messageDesc(file_uplim_api_v1_uploads, 50);
2601
+
2602
+ /**
2603
+ * @generated from message uplim.api.v1.ListFolderTreeRequest
2604
+ */
2605
+ export type ListFolderTreeRequest = Message<"uplim.api.v1.ListFolderTreeRequest"> & {
2606
+ /**
2607
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
2608
+ */
2609
+ bucketRef?: BucketRef;
2610
+
2611
+ /**
2612
+ * @generated from field: uplim.api.v1.FolderRef folder = 2;
2613
+ */
2614
+ folder?: FolderRef;
2615
+
2616
+ /**
2617
+ * Include uploads in the tree nodes (default: folders only)
2618
+ *
2619
+ * @generated from field: bool include_uploads = 3;
2620
+ */
2621
+ includeUploads: boolean;
2622
+
2623
+ /**
2624
+ * @generated from field: optional uplim.api.v1.TreePathFilter path_filter = 4;
2625
+ */
2626
+ pathFilter?: TreePathFilter;
2627
+
2628
+ /**
2629
+ * Filter on upload slug. When include_uploads=false,
2630
+ * folders containing matching uploads are annotated with matches_filter=true.
2631
+ *
2632
+ * @generated from field: optional uplim.api.v1.TreeUploadFilter upload_filter = 5;
2633
+ */
2634
+ uploadFilter?: TreeUploadFilter;
2635
+ };
2636
+
2637
+ /**
2638
+ * Describes the message uplim.api.v1.ListFolderTreeRequest.
2639
+ * Use `create(ListFolderTreeRequestSchema)` to create a new message.
2640
+ */
2641
+ export const ListFolderTreeRequestSchema: GenMessage<ListFolderTreeRequest> = /*@__PURE__*/
2642
+ messageDesc(file_uplim_api_v1_uploads, 51);
2643
+
2644
+ /**
2645
+ * @generated from message uplim.api.v1.ListFolderTreeResponse
2646
+ */
2647
+ export type ListFolderTreeResponse = Message<"uplim.api.v1.ListFolderTreeResponse"> & {
2648
+ /**
2649
+ * @generated from field: repeated uplim.api.v1.TreeNode children = 1;
2650
+ */
2651
+ children: TreeNode[];
2652
+ };
2653
+
2654
+ /**
2655
+ * Describes the message uplim.api.v1.ListFolderTreeResponse.
2656
+ * Use `create(ListFolderTreeResponseSchema)` to create a new message.
2657
+ */
2658
+ export const ListFolderTreeResponseSchema: GenMessage<ListFolderTreeResponse> = /*@__PURE__*/
2659
+ messageDesc(file_uplim_api_v1_uploads, 52);
2660
+
2661
+ /**
2662
+ * @generated from message uplim.api.v1.BulkUpdateOrderRequest
2663
+ */
2664
+ export type BulkUpdateOrderRequest = Message<"uplim.api.v1.BulkUpdateOrderRequest"> & {
2665
+ /**
2666
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
2667
+ */
2668
+ bucketRef?: BucketRef;
2669
+
2670
+ /**
2671
+ * @generated from field: repeated uplim.api.v1.BulkUpdateOrderRequest.OrderUpdate updates = 2;
2672
+ */
2673
+ updates: BulkUpdateOrderRequest_OrderUpdate[];
2674
+ };
2675
+
2676
+ /**
2677
+ * Describes the message uplim.api.v1.BulkUpdateOrderRequest.
2678
+ * Use `create(BulkUpdateOrderRequestSchema)` to create a new message.
2679
+ */
2680
+ export const BulkUpdateOrderRequestSchema: GenMessage<BulkUpdateOrderRequest> = /*@__PURE__*/
2681
+ messageDesc(file_uplim_api_v1_uploads, 53);
2682
+
2683
+ /**
2684
+ * @generated from message uplim.api.v1.BulkUpdateOrderRequest.OrderUpdate
2685
+ */
2686
+ export type BulkUpdateOrderRequest_OrderUpdate = Message<"uplim.api.v1.BulkUpdateOrderRequest.OrderUpdate"> & {
2687
+ /**
2688
+ * @generated from oneof uplim.api.v1.BulkUpdateOrderRequest.OrderUpdate.target
2689
+ */
2690
+ target: {
2691
+ /**
2692
+ * @generated from field: string upload_id = 1;
2693
+ */
2694
+ value: string;
2695
+ case: "uploadId";
2696
+ } | {
2697
+ /**
2698
+ * @generated from field: string folder_id = 2;
2699
+ */
2700
+ value: string;
2701
+ case: "folderId";
2702
+ } | { case: undefined; value?: undefined };
2703
+
2704
+ /**
2705
+ * @generated from field: int32 order = 3;
2706
+ */
2707
+ order: number;
2708
+ };
2709
+
2710
+ /**
2711
+ * Describes the message uplim.api.v1.BulkUpdateOrderRequest.OrderUpdate.
2712
+ * Use `create(BulkUpdateOrderRequest_OrderUpdateSchema)` to create a new message.
2713
+ */
2714
+ export const BulkUpdateOrderRequest_OrderUpdateSchema: GenMessage<BulkUpdateOrderRequest_OrderUpdate> = /*@__PURE__*/
2715
+ messageDesc(file_uplim_api_v1_uploads, 53, 0);
2716
+
2717
+ /**
2718
+ * @generated from message uplim.api.v1.BulkUpdateOrderResponse
2719
+ */
2720
+ export type BulkUpdateOrderResponse = Message<"uplim.api.v1.BulkUpdateOrderResponse"> & {
2721
+ };
2722
+
2723
+ /**
2724
+ * Describes the message uplim.api.v1.BulkUpdateOrderResponse.
2725
+ * Use `create(BulkUpdateOrderResponseSchema)` to create a new message.
2726
+ */
2727
+ export const BulkUpdateOrderResponseSchema: GenMessage<BulkUpdateOrderResponse> = /*@__PURE__*/
2728
+ messageDesc(file_uplim_api_v1_uploads, 54);
2729
+
2730
+ /**
2731
+ * @generated from message uplim.api.v1.ListTagsRequest
2732
+ */
2733
+ export type ListTagsRequest = Message<"uplim.api.v1.ListTagsRequest"> & {
2734
+ /**
2735
+ * Reference to the bucket
2736
+ *
2737
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
2738
+ */
2739
+ bucketRef?: BucketRef;
2740
+
2741
+ /**
2742
+ * Return tags that are children of the specified tags. If multiple tags are specified, the missing tags for uploads that match all defined tags will be returned.
2743
+ *
2744
+ * @generated from field: repeated string child_of_tags = 2;
2745
+ */
2746
+ childOfTags: string[];
2747
+ };
2748
+
2749
+ /**
2750
+ * Describes the message uplim.api.v1.ListTagsRequest.
2751
+ * Use `create(ListTagsRequestSchema)` to create a new message.
2752
+ */
2753
+ export const ListTagsRequestSchema: GenMessage<ListTagsRequest> = /*@__PURE__*/
2754
+ messageDesc(file_uplim_api_v1_uploads, 55);
2755
+
2756
+ /**
2757
+ * @generated from message uplim.api.v1.ListTagsResponse
2758
+ */
2759
+ export type ListTagsResponse = Message<"uplim.api.v1.ListTagsResponse"> & {
2760
+ /**
2761
+ * @generated from field: repeated string tags = 1;
2762
+ */
2763
+ tags: string[];
2764
+ };
2765
+
2766
+ /**
2767
+ * Describes the message uplim.api.v1.ListTagsResponse.
2768
+ * Use `create(ListTagsResponseSchema)` to create a new message.
2769
+ */
2770
+ export const ListTagsResponseSchema: GenMessage<ListTagsResponse> = /*@__PURE__*/
2771
+ messageDesc(file_uplim_api_v1_uploads, 56);
2772
+
2773
+ /**
2774
+ * Get text content of an upload inline. For binary content, use GetUploadDownloadUrl instead.
2775
+ *
2776
+ * @generated from message uplim.api.v1.GetTextContentRequest
2777
+ */
2778
+ export type GetTextContentRequest = Message<"uplim.api.v1.GetTextContentRequest"> & {
2779
+ /**
2780
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
2781
+ */
2782
+ bucketRef?: BucketRef;
2783
+
2784
+ /**
2785
+ * @generated from field: uplim.api.v1.UploadRef upload_ref = 2;
2786
+ */
2787
+ uploadRef?: UploadRef;
2788
+ };
2789
+
2790
+ /**
2791
+ * Describes the message uplim.api.v1.GetTextContentRequest.
2792
+ * Use `create(GetTextContentRequestSchema)` to create a new message.
2793
+ */
2794
+ export const GetTextContentRequestSchema: GenMessage<GetTextContentRequest> = /*@__PURE__*/
2795
+ messageDesc(file_uplim_api_v1_uploads, 57);
2796
+
2797
+ /**
2798
+ * @generated from message uplim.api.v1.GetTextContentResponse
2799
+ */
2800
+ export type GetTextContentResponse = Message<"uplim.api.v1.GetTextContentResponse"> & {
2801
+ /**
2802
+ * @generated from field: uplim.api.v1.Upload upload = 1;
2803
+ */
2804
+ upload?: Upload;
2805
+
2806
+ /**
2807
+ * Text content (UTF-8)
2808
+ *
2809
+ * @generated from field: string content = 2;
2810
+ */
2811
+ content: string;
2812
+
2813
+ /**
2814
+ * MIME type (e.g. text/plain, text/markdown)
2815
+ *
2816
+ * @generated from field: string content_type = 3;
2817
+ */
2818
+ contentType: string;
2819
+ };
2820
+
2821
+ /**
2822
+ * Describes the message uplim.api.v1.GetTextContentResponse.
2823
+ * Use `create(GetTextContentResponseSchema)` to create a new message.
2824
+ */
2825
+ export const GetTextContentResponseSchema: GenMessage<GetTextContentResponse> = /*@__PURE__*/
2826
+ messageDesc(file_uplim_api_v1_uploads, 58);
2827
+
2828
+ /**
2829
+ * Target for creating text upload with slug options
2830
+ *
2831
+ * @generated from message uplim.api.v1.CreateTextTarget
2832
+ */
2833
+ export type CreateTextTarget = Message<"uplim.api.v1.CreateTextTarget"> & {
2834
+ /**
2835
+ * @generated from field: string directory = 1;
2836
+ */
2837
+ directory: string;
2838
+
2839
+ /**
2840
+ * @generated from field: optional string slug = 2;
2841
+ */
2842
+ slug?: string;
2843
+
2844
+ /**
2845
+ * @generated from field: optional int32 dynamic_slug = 3;
2846
+ */
2847
+ dynamicSlug?: number;
2848
+ };
2849
+
2850
+ /**
2851
+ * Describes the message uplim.api.v1.CreateTextTarget.
2852
+ * Use `create(CreateTextTargetSchema)` to create a new message.
2853
+ */
2854
+ export const CreateTextTargetSchema: GenMessage<CreateTextTarget> = /*@__PURE__*/
2855
+ messageDesc(file_uplim_api_v1_uploads, 59);
2856
+
2857
+ /**
2858
+ * Create or update text content. For binary uploads, use RequestUpload + CreateUpload instead.
2859
+ *
2860
+ * @generated from message uplim.api.v1.SetTextContentRequest
2861
+ */
2862
+ export type SetTextContentRequest = Message<"uplim.api.v1.SetTextContentRequest"> & {
2863
+ /**
2864
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
2865
+ */
2866
+ bucketRef?: BucketRef;
2867
+
2868
+ /**
2869
+ * @generated from oneof uplim.api.v1.SetTextContentRequest.target
2870
+ */
2871
+ target: {
2872
+ /**
2873
+ * Create a new text upload
2874
+ *
2875
+ * @generated from field: uplim.api.v1.CreateTextTarget create = 2;
2876
+ */
2877
+ value: CreateTextTarget;
2878
+ case: "create";
2879
+ } | {
2880
+ /**
2881
+ * Replace content of an existing upload (by ID or path)
2882
+ *
2883
+ * @generated from field: uplim.api.v1.UploadRef replace = 3;
2884
+ */
2885
+ value: UploadRef;
2886
+ case: "replace";
2887
+ } | {
2888
+ /**
2889
+ * Create or update based on path (creates if not exists, replaces if exists)
2890
+ *
2891
+ * @generated from field: string upsert_path = 4;
2892
+ */
2893
+ value: string;
2894
+ case: "upsertPath";
2895
+ } | { case: undefined; value?: undefined };
2896
+
2897
+ /**
2898
+ * 10MB max, UTF-8 text
2899
+ *
2900
+ * @generated from field: string content = 5;
2901
+ */
2902
+ content: string;
2903
+
2904
+ /**
2905
+ * MIME type (e.g. text/plain, text/markdown, application/json)
2906
+ *
2907
+ * @generated from field: string content_type = 6;
2908
+ */
2909
+ contentType: string;
2910
+
2911
+ /**
2912
+ * @generated from field: string filename = 7;
2913
+ */
2914
+ filename: string;
2915
+
2916
+ /**
2917
+ * @generated from field: repeated string tags = 8;
2918
+ */
2919
+ tags: string[];
2920
+
2921
+ /**
2922
+ * Whether this upload is private to the owning integration.
2923
+ * When true, only the owning integration (with API key if api_key_enabled) can access it.
2924
+ *
2925
+ * @generated from field: optional bool integration_hidden = 9;
2926
+ */
2927
+ integrationHidden?: boolean;
2928
+ };
2929
+
2930
+ /**
2931
+ * Describes the message uplim.api.v1.SetTextContentRequest.
2932
+ * Use `create(SetTextContentRequestSchema)` to create a new message.
2933
+ */
2934
+ export const SetTextContentRequestSchema: GenMessage<SetTextContentRequest> = /*@__PURE__*/
2935
+ messageDesc(file_uplim_api_v1_uploads, 60);
2936
+
2937
+ /**
2938
+ * @generated from message uplim.api.v1.SetTextContentResponse
2939
+ */
2940
+ export type SetTextContentResponse = Message<"uplim.api.v1.SetTextContentResponse"> & {
2941
+ /**
2942
+ * @generated from field: uplim.api.v1.Upload upload = 1;
2943
+ */
2944
+ upload?: Upload;
2945
+ };
2946
+
2947
+ /**
2948
+ * Describes the message uplim.api.v1.SetTextContentResponse.
2949
+ * Use `create(SetTextContentResponseSchema)` to create a new message.
2950
+ */
2951
+ export const SetTextContentResponseSchema: GenMessage<SetTextContentResponse> = /*@__PURE__*/
2952
+ messageDesc(file_uplim_api_v1_uploads, 61);
2953
+
2954
+ /**
2955
+ * @generated from message uplim.api.v1.InternalUpdateUploadRequest
2956
+ */
2957
+ export type InternalUpdateUploadRequest = Message<"uplim.api.v1.InternalUpdateUploadRequest"> & {
2958
+ /**
2959
+ * @generated from field: string update_token = 1;
2960
+ */
2961
+ updateToken: string;
2962
+
2963
+ /**
2964
+ * @generated from field: optional uplim.api.v1.InternalUpdateUploadRequest.UploadValidation validation = 2;
2965
+ */
2966
+ validation?: InternalUpdateUploadRequest_UploadValidation;
2967
+
2968
+ /**
2969
+ * @generated from field: optional uplim.api.v1.UploadMetadata metadata = 3;
2970
+ */
2971
+ metadata?: UploadMetadata;
2972
+
2973
+ /**
2974
+ * @generated from field: optional bool has_virus = 4;
2975
+ */
2976
+ hasVirus?: boolean;
2977
+
2978
+ /**
2979
+ * @generated from field: optional uplim.api.v1.InternalUpdateUploadRequest.AiMetadata ai_metadata = 5;
2980
+ */
2981
+ aiMetadata?: InternalUpdateUploadRequest_AiMetadata;
2982
+
2983
+ /**
2984
+ * @generated from field: optional bool has_thumbnail = 6;
2985
+ */
2986
+ hasThumbnail?: boolean;
2987
+
2988
+ /**
2989
+ * @generated from field: optional uint32 thumbnail_generation_version = 7;
2990
+ */
2991
+ thumbnailGenerationVersion?: number;
2992
+
2993
+ /**
2994
+ * @generated from field: optional uint32 ai_description_generation_version = 8;
2995
+ */
2996
+ aiDescriptionGenerationVersion?: number;
2997
+
2998
+ /**
2999
+ * @generated from field: optional uint32 ai_tags_generation_version = 9;
3000
+ */
3001
+ aiTagsGenerationVersion?: number;
3002
+
3003
+ /**
3004
+ * @generated from field: optional uint32 virus_scan_generation_version = 10;
3005
+ */
3006
+ virusScanGenerationVersion?: number;
3007
+
3008
+ /**
3009
+ * Detection results from the pipeline's classification step. Persisted on
3010
+ * the Upload row as detected_mime / detected_magic_format / detected_encoding.
3011
+ * These coexist with validation.validated_type during the legacy-enum
3012
+ * transition; once Sub-plan G lands, validation goes away.
3013
+ *
3014
+ * @generated from field: optional string detected_mime = 11;
3015
+ */
3016
+ detectedMime?: string;
3017
+
3018
+ /**
3019
+ * @generated from field: optional string detected_magic_format = 12;
3020
+ */
3021
+ detectedMagicFormat?: string;
3022
+
3023
+ /**
3024
+ * @generated from field: optional string detected_encoding = 13;
3025
+ */
3026
+ detectedEncoding?: string;
3027
+
3028
+ /**
3029
+ * Matched content type URN (e.g., "default:image"). Replaces the legacy
3030
+ * UploadType enum at every API boundary. Null means classification
3031
+ * returned no match — frontend renders a generic file icon.
3032
+ *
3033
+ * @generated from field: optional string matched_content_type_urn = 14;
3034
+ */
3035
+ matchedContentTypeUrn?: string;
3036
+
3037
+ /**
3038
+ * Reprocess marker — set by the Sub-plan F reprocess workflow once an
3039
+ * upload has been re-run under the new content type system.
3040
+ *
3041
+ * @generated from field: optional google.protobuf.Timestamp reprocessed_at = 15;
3042
+ */
3043
+ reprocessedAt?: Timestamp;
3044
+ };
3045
+
3046
+ /**
3047
+ * Describes the message uplim.api.v1.InternalUpdateUploadRequest.
3048
+ * Use `create(InternalUpdateUploadRequestSchema)` to create a new message.
3049
+ */
3050
+ export const InternalUpdateUploadRequestSchema: GenMessage<InternalUpdateUploadRequest> = /*@__PURE__*/
3051
+ messageDesc(file_uplim_api_v1_uploads, 62);
3052
+
3053
+ /**
3054
+ * @generated from message uplim.api.v1.InternalUpdateUploadRequest.UploadValidation
3055
+ */
3056
+ export type InternalUpdateUploadRequest_UploadValidation = Message<"uplim.api.v1.InternalUpdateUploadRequest.UploadValidation"> & {
3057
+ /**
3058
+ * @generated from field: string validated_mime_type = 2;
3059
+ */
3060
+ validatedMimeType: string;
3061
+
3062
+ /**
3063
+ * @generated from field: optional string validated_file_extension = 3;
3064
+ */
3065
+ validatedFileExtension?: string;
3066
+
3067
+ /**
3068
+ * @generated from field: uplim.api.v1.UploadType validated_type = 4;
3069
+ */
3070
+ validatedType: UploadType;
3071
+ };
3072
+
3073
+ /**
3074
+ * Describes the message uplim.api.v1.InternalUpdateUploadRequest.UploadValidation.
3075
+ * Use `create(InternalUpdateUploadRequest_UploadValidationSchema)` to create a new message.
3076
+ */
3077
+ export const InternalUpdateUploadRequest_UploadValidationSchema: GenMessage<InternalUpdateUploadRequest_UploadValidation> = /*@__PURE__*/
3078
+ messageDesc(file_uplim_api_v1_uploads, 62, 0);
3079
+
3080
+ /**
3081
+ * @generated from message uplim.api.v1.InternalUpdateUploadRequest.AiMetadata
3082
+ */
3083
+ export type InternalUpdateUploadRequest_AiMetadata = Message<"uplim.api.v1.InternalUpdateUploadRequest.AiMetadata"> & {
3084
+ /**
3085
+ * @generated from field: string description = 1;
3086
+ */
3087
+ description: string;
3088
+
3089
+ /**
3090
+ * @generated from field: repeated string generated_tags = 2;
3091
+ */
3092
+ generatedTags: string[];
3093
+
3094
+ /**
3095
+ * @generated from field: optional string input_ref = 3;
3096
+ */
3097
+ inputRef?: string;
3098
+ };
3099
+
3100
+ /**
3101
+ * Describes the message uplim.api.v1.InternalUpdateUploadRequest.AiMetadata.
3102
+ * Use `create(InternalUpdateUploadRequest_AiMetadataSchema)` to create a new message.
3103
+ */
3104
+ export const InternalUpdateUploadRequest_AiMetadataSchema: GenMessage<InternalUpdateUploadRequest_AiMetadata> = /*@__PURE__*/
3105
+ messageDesc(file_uplim_api_v1_uploads, 62, 1);
3106
+
3107
+ /**
3108
+ * @generated from message uplim.api.v1.InternalUpdateUploadResponse
3109
+ */
3110
+ export type InternalUpdateUploadResponse = Message<"uplim.api.v1.InternalUpdateUploadResponse"> & {
3111
+ };
3112
+
3113
+ /**
3114
+ * Describes the message uplim.api.v1.InternalUpdateUploadResponse.
3115
+ * Use `create(InternalUpdateUploadResponseSchema)` to create a new message.
3116
+ */
3117
+ export const InternalUpdateUploadResponseSchema: GenMessage<InternalUpdateUploadResponse> = /*@__PURE__*/
3118
+ messageDesc(file_uplim_api_v1_uploads, 63);
3119
+
3120
+ /**
3121
+ * Identifies a specific meta upload type, optionally with an index or filename
3122
+ *
3123
+ * @generated from message uplim.api.v1.MetaType
3124
+ */
3125
+ export type MetaType = Message<"uplim.api.v1.MetaType"> & {
3126
+ /**
3127
+ * The type of meta upload
3128
+ *
3129
+ * @generated from field: uplim.api.v1.MetaUploadType type = 1;
3130
+ */
3131
+ type: MetaUploadType;
3132
+
3133
+ /**
3134
+ * Index for types that support multiple instances (e.g. video timeline frames)
3135
+ *
3136
+ * @generated from field: optional int32 n = 2;
3137
+ */
3138
+ n?: number;
3139
+
3140
+ /**
3141
+ * Filename for types that reference specific files (e.g. archive files)
3142
+ *
3143
+ * @generated from field: optional string filename = 3;
3144
+ */
3145
+ filename?: string;
3146
+ };
3147
+
3148
+ /**
3149
+ * Describes the message uplim.api.v1.MetaType.
3150
+ * Use `create(MetaTypeSchema)` to create a new message.
3151
+ */
3152
+ export const MetaTypeSchema: GenMessage<MetaType> = /*@__PURE__*/
3153
+ messageDesc(file_uplim_api_v1_uploads, 64);
3154
+
3155
+ /**
3156
+ * Request to create presigned upload URLs for meta uploads (internal pipeline use)
3157
+ *
3158
+ * @generated from message uplim.api.v1.RequestMetaUploadRequest
3159
+ */
3160
+ export type RequestMetaUploadRequest = Message<"uplim.api.v1.RequestMetaUploadRequest"> & {
3161
+ /**
3162
+ * Processing token from the media pipeline
3163
+ *
3164
+ * @generated from field: string update_token = 1;
3165
+ */
3166
+ updateToken: string;
3167
+
3168
+ /**
3169
+ * Meta upload types to create
3170
+ *
3171
+ * @generated from field: repeated uplim.api.v1.MetaType meta_type = 2;
3172
+ */
3173
+ metaType: MetaType[];
3174
+ };
3175
+
3176
+ /**
3177
+ * Describes the message uplim.api.v1.RequestMetaUploadRequest.
3178
+ * Use `create(RequestMetaUploadRequestSchema)` to create a new message.
3179
+ */
3180
+ export const RequestMetaUploadRequestSchema: GenMessage<RequestMetaUploadRequest> = /*@__PURE__*/
3181
+ messageDesc(file_uplim_api_v1_uploads, 65);
3182
+
3183
+ /**
3184
+ * A meta upload associated with a source upload (thumbnail, archive tree, etc.)
3185
+ *
3186
+ * @generated from message uplim.api.v1.MetaUpload
3187
+ */
3188
+ export type MetaUpload = Message<"uplim.api.v1.MetaUpload"> & {
3189
+ /**
3190
+ * The type of meta upload
3191
+ *
3192
+ * @generated from field: uplim.api.v1.MetaType type = 1;
3193
+ */
3194
+ type?: MetaType;
3195
+
3196
+ /**
3197
+ * Unique ID for this meta upload
3198
+ *
3199
+ * @generated from field: string metadata_id = 2;
3200
+ */
3201
+ metadataId: string;
3202
+
3203
+ /**
3204
+ * Presigned URL for uploading content (only in pipeline responses)
3205
+ *
3206
+ * @generated from field: string upload_url = 3;
3207
+ */
3208
+ uploadUrl: string;
3209
+
3210
+ /**
3211
+ * Public download URL for the meta upload content
3212
+ *
3213
+ * @generated from field: string download_url = 4;
3214
+ */
3215
+ downloadUrl: string;
3216
+ };
3217
+
3218
+ /**
3219
+ * Describes the message uplim.api.v1.MetaUpload.
3220
+ * Use `create(MetaUploadSchema)` to create a new message.
3221
+ */
3222
+ export const MetaUploadSchema: GenMessage<MetaUpload> = /*@__PURE__*/
3223
+ messageDesc(file_uplim_api_v1_uploads, 66);
3224
+
3225
+ /**
3226
+ * @generated from message uplim.api.v1.RequestMetaUploadResponse
3227
+ */
3228
+ export type RequestMetaUploadResponse = Message<"uplim.api.v1.RequestMetaUploadResponse"> & {
3229
+ /**
3230
+ * @generated from field: repeated uplim.api.v1.MetaUpload meta_uploads = 1;
3231
+ */
3232
+ metaUploads: MetaUpload[];
3233
+ };
3234
+
3235
+ /**
3236
+ * Describes the message uplim.api.v1.RequestMetaUploadResponse.
3237
+ * Use `create(RequestMetaUploadResponseSchema)` to create a new message.
3238
+ */
3239
+ export const RequestMetaUploadResponseSchema: GenMessage<RequestMetaUploadResponse> = /*@__PURE__*/
3240
+ messageDesc(file_uplim_api_v1_uploads, 67);
3241
+
3242
+ /**
3243
+ * @generated from message uplim.api.v1.ConfirmMetaUploadRequest
3244
+ */
3245
+ export type ConfirmMetaUploadRequest = Message<"uplim.api.v1.ConfirmMetaUploadRequest"> & {
3246
+ /**
3247
+ * @generated from field: string update_token = 1;
3248
+ */
3249
+ updateToken: string;
3250
+
3251
+ /**
3252
+ * @generated from field: repeated string metadata_id = 2;
3253
+ */
3254
+ metadataId: string[];
3255
+ };
3256
+
3257
+ /**
3258
+ * Describes the message uplim.api.v1.ConfirmMetaUploadRequest.
3259
+ * Use `create(ConfirmMetaUploadRequestSchema)` to create a new message.
3260
+ */
3261
+ export const ConfirmMetaUploadRequestSchema: GenMessage<ConfirmMetaUploadRequest> = /*@__PURE__*/
3262
+ messageDesc(file_uplim_api_v1_uploads, 68);
3263
+
3264
+ /**
3265
+ * @generated from message uplim.api.v1.ConfirmMetaUploadResponse
3266
+ */
3267
+ export type ConfirmMetaUploadResponse = Message<"uplim.api.v1.ConfirmMetaUploadResponse"> & {
3268
+ };
3269
+
3270
+ /**
3271
+ * Describes the message uplim.api.v1.ConfirmMetaUploadResponse.
3272
+ * Use `create(ConfirmMetaUploadResponseSchema)` to create a new message.
3273
+ */
3274
+ export const ConfirmMetaUploadResponseSchema: GenMessage<ConfirmMetaUploadResponse> = /*@__PURE__*/
3275
+ messageDesc(file_uplim_api_v1_uploads, 69);
3276
+
3277
+ /**
3278
+ * @generated from message uplim.api.v1.GetProcessingContextRequest
3279
+ */
3280
+ export type GetProcessingContextRequest = Message<"uplim.api.v1.GetProcessingContextRequest"> & {
3281
+ /**
3282
+ * @generated from field: string update_token = 1;
3283
+ */
3284
+ updateToken: string;
3285
+ };
3286
+
3287
+ /**
3288
+ * Describes the message uplim.api.v1.GetProcessingContextRequest.
3289
+ * Use `create(GetProcessingContextRequestSchema)` to create a new message.
3290
+ */
3291
+ export const GetProcessingContextRequestSchema: GenMessage<GetProcessingContextRequest> = /*@__PURE__*/
3292
+ messageDesc(file_uplim_api_v1_uploads, 70);
3293
+
3294
+ /**
3295
+ * @generated from message uplim.api.v1.GetProcessingContextResponse
3296
+ */
3297
+ export type GetProcessingContextResponse = Message<"uplim.api.v1.GetProcessingContextResponse"> & {
3298
+ /**
3299
+ * @generated from field: string source_download_url = 1;
3300
+ */
3301
+ sourceDownloadUrl: string;
3302
+
3303
+ /**
3304
+ * @generated from field: google.protobuf.Timestamp source_url_expires_at = 2;
3305
+ */
3306
+ sourceUrlExpiresAt?: Timestamp;
3307
+
3308
+ /**
3309
+ * @generated from field: optional string ai_description_input_ref = 3;
3310
+ */
3311
+ aiDescriptionInputRef?: string;
3312
+
3313
+ /**
3314
+ * @generated from field: optional google.protobuf.Struct intent_metadata = 5;
3315
+ */
3316
+ intentMetadata?: JsonObject;
3317
+
3318
+ /**
3319
+ * Populated when the upload is in a virtual file folder or an integration-type bucket.
3320
+ * Provides the folder context so thumbnail parsers can see sibling files.
3321
+ *
3322
+ * @generated from field: optional uplim.api.v1.FolderProcessingContext folder_context = 8;
3323
+ */
3324
+ folderContext?: FolderProcessingContext;
3325
+
3326
+ /**
3327
+ * Structured thumbnail parser context. Present when a thumbnail parse pool
3328
+ * is configured for this upload (via content type or bucket type).
3329
+ *
3330
+ * @generated from field: optional uplim.api.v1.ThumbnailParserContext thumbnail_parser = 9;
3331
+ */
3332
+ thumbnailParser?: ThumbnailParserContext;
3333
+
3334
+ /**
3335
+ * Candidate content types for matcher evaluation. Pre-filtered to those
3336
+ * eligible for this upload (kinds match, slug pattern matches, integration
3337
+ * installed for the user). Ordered by matcher_priority DESC, urn ASC for
3338
+ * deterministic ties — pipeline evaluates each matcher against the
3339
+ * DetectionResult and picks the first match.
3340
+ *
3341
+ * @generated from field: repeated uplim.api.v1.ContentTypeCandidate candidate_content_types = 10;
3342
+ */
3343
+ candidateContentTypes: ContentTypeCandidate[];
3344
+ };
3345
+
3346
+ /**
3347
+ * Describes the message uplim.api.v1.GetProcessingContextResponse.
3348
+ * Use `create(GetProcessingContextResponseSchema)` to create a new message.
3349
+ */
3350
+ export const GetProcessingContextResponseSchema: GenMessage<GetProcessingContextResponse> = /*@__PURE__*/
3351
+ messageDesc(file_uplim_api_v1_uploads, 71);
3352
+
3353
+ /**
3354
+ * Eligible content type returned by GetProcessingContext for classification.
3355
+ * Carries everything the pipeline needs to evaluate the matcher and route
3356
+ * downstream dispatch.
3357
+ *
3358
+ * @generated from message uplim.api.v1.ContentTypeCandidate
3359
+ */
3360
+ export type ContentTypeCandidate = Message<"uplim.api.v1.ContentTypeCandidate"> & {
3361
+ /**
3362
+ * Internal DB id of the IntegrationContentType row.
3363
+ *
3364
+ * @generated from field: string id = 1;
3365
+ */
3366
+ id: string;
3367
+
3368
+ /**
3369
+ * Public URN — Integration.slug + ":" + IntegrationContentType.name.
3370
+ *
3371
+ * @generated from field: string urn = 2;
3372
+ */
3373
+ urn: string;
3374
+
3375
+ /**
3376
+ * Higher wins. Mirrors IntegrationContentType.matcher_priority.
3377
+ *
3378
+ * @generated from field: int32 matcher_priority = 3;
3379
+ */
3380
+ matcherPriority: number;
3381
+
3382
+ /**
3383
+ * Serialized ContentTypeMatcher proto.
3384
+ *
3385
+ * @generated from field: bytes matcher = 4;
3386
+ */
3387
+ matcher: Uint8Array;
3388
+
3389
+ /**
3390
+ * Per-content-type cutover flag — true routes to the integration's pool,
3391
+ * false falls through to the legacy inline activity.
3392
+ *
3393
+ * @generated from field: bool dispatch_to_pool = 5;
3394
+ */
3395
+ dispatchToPool: boolean;
3396
+
3397
+ /**
3398
+ * Pool ID — present iff dispatch_to_pool = true.
3399
+ *
3400
+ * @generated from field: optional string pool_id = 6;
3401
+ */
3402
+ poolId?: string;
3403
+
3404
+ /**
3405
+ * Typed proto blob, content-type-specific (reserved for future use).
3406
+ *
3407
+ * @generated from field: bytes content_type_config = 7;
3408
+ */
3409
+ contentTypeConfig: Uint8Array;
3410
+ };
3411
+
3412
+ /**
3413
+ * Describes the message uplim.api.v1.ContentTypeCandidate.
3414
+ * Use `create(ContentTypeCandidateSchema)` to create a new message.
3415
+ */
3416
+ export const ContentTypeCandidateSchema: GenMessage<ContentTypeCandidate> = /*@__PURE__*/
3417
+ messageDesc(file_uplim_api_v1_uploads, 72);
3418
+
3419
+ /**
3420
+ * Identifies the thumbnail parser pool and what triggered the match.
3421
+ *
3422
+ * @generated from message uplim.api.v1.ThumbnailParserContext
3423
+ */
3424
+ export type ThumbnailParserContext = Message<"uplim.api.v1.ThumbnailParserContext"> & {
3425
+ /**
3426
+ * Opaque queue token from the matching IntegrationThumbnailPool.
3427
+ *
3428
+ * @generated from field: string queue_token = 1;
3429
+ */
3430
+ queueToken: string;
3431
+
3432
+ /**
3433
+ * The pool ID.
3434
+ *
3435
+ * @generated from field: string pool_id = 2;
3436
+ */
3437
+ poolId: string;
3438
+
3439
+ /**
3440
+ * Which source triggered this — exactly one is set.
3441
+ *
3442
+ * @generated from oneof uplim.api.v1.ThumbnailParserContext.source
3443
+ */
3444
+ source: {
3445
+ /**
3446
+ * Content type ID that matched (from integration content types).
3447
+ *
3448
+ * @generated from field: string content_type_id = 3;
3449
+ */
3450
+ value: string;
3451
+ case: "contentTypeId";
3452
+ } | {
3453
+ /**
3454
+ * Bucket type ID that matched (from integration bucket types).
3455
+ *
3456
+ * @generated from field: string bucket_type_id = 4;
3457
+ */
3458
+ value: string;
3459
+ case: "bucketTypeId";
3460
+ } | { case: undefined; value?: undefined };
3461
+ };
3462
+
3463
+ /**
3464
+ * Describes the message uplim.api.v1.ThumbnailParserContext.
3465
+ * Use `create(ThumbnailParserContextSchema)` to create a new message.
3466
+ */
3467
+ export const ThumbnailParserContextSchema: GenMessage<ThumbnailParserContext> = /*@__PURE__*/
3468
+ messageDesc(file_uplim_api_v1_uploads, 73);
3469
+
3470
+ /**
3471
+ * Context about the folder containing the upload being processed.
3472
+ * Allows thumbnail parser callbacks to understand the full folder contents.
3473
+ *
3474
+ * @generated from message uplim.api.v1.FolderProcessingContext
3475
+ */
3476
+ export type FolderProcessingContext = Message<"uplim.api.v1.FolderProcessingContext"> & {
3477
+ /**
3478
+ * @generated from field: string folder_id = 1;
3479
+ */
3480
+ folderId: string;
3481
+
3482
+ /**
3483
+ * @generated from field: string folder_path = 2;
3484
+ */
3485
+ folderPath: string;
3486
+
3487
+ /**
3488
+ * All uploads in the same folder (with presigned download URLs)
3489
+ *
3490
+ * @generated from field: repeated uplim.api.v1.FolderProcessingFile files = 3;
3491
+ */
3492
+ files: FolderProcessingFile[];
3493
+ };
3494
+
3495
+ /**
3496
+ * Describes the message uplim.api.v1.FolderProcessingContext.
3497
+ * Use `create(FolderProcessingContextSchema)` to create a new message.
3498
+ */
3499
+ export const FolderProcessingContextSchema: GenMessage<FolderProcessingContext> = /*@__PURE__*/
3500
+ messageDesc(file_uplim_api_v1_uploads, 74);
3501
+
3502
+ /**
3503
+ * A file within a folder processing context, with a presigned download URL
3504
+ *
3505
+ * @generated from message uplim.api.v1.FolderProcessingFile
3506
+ */
3507
+ export type FolderProcessingFile = Message<"uplim.api.v1.FolderProcessingFile"> & {
3508
+ /**
3509
+ * Upload ID of the file
3510
+ *
3511
+ * @generated from field: string upload_id = 1;
3512
+ */
3513
+ uploadId: string;
3514
+
3515
+ /**
3516
+ * Filename of the file
3517
+ *
3518
+ * @generated from field: string filename = 2;
3519
+ */
3520
+ filename: string;
3521
+
3522
+ /**
3523
+ * URL slug of the file
3524
+ *
3525
+ * @generated from field: string slug = 3;
3526
+ */
3527
+ slug: string;
3528
+
3529
+ /**
3530
+ * File size in bytes
3531
+ *
3532
+ * @generated from field: int64 size_bytes = 4 [jstype = JS_STRING];
3533
+ */
3534
+ sizeBytes: string;
3535
+
3536
+ /**
3537
+ * Presigned download URL for the file content
3538
+ *
3539
+ * @generated from field: string download_url = 5;
3540
+ */
3541
+ downloadUrl: string;
3542
+ };
3543
+
3544
+ /**
3545
+ * Describes the message uplim.api.v1.FolderProcessingFile.
3546
+ * Use `create(FolderProcessingFileSchema)` to create a new message.
3547
+ */
3548
+ export const FolderProcessingFileSchema: GenMessage<FolderProcessingFile> = /*@__PURE__*/
3549
+ messageDesc(file_uplim_api_v1_uploads, 75);
3550
+
3551
+ /**
3552
+ * @generated from message uplim.api.v1.CopyUploadRequest
3553
+ */
3554
+ export type CopyUploadRequest = Message<"uplim.api.v1.CopyUploadRequest"> & {
3555
+ /**
3556
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
3557
+ */
3558
+ bucketRef?: BucketRef;
3559
+
3560
+ /**
3561
+ * The source upload to copy
3562
+ *
3563
+ * @generated from field: string upload_id = 2;
3564
+ */
3565
+ uploadId: string;
3566
+
3567
+ /**
3568
+ * Destination folder path or ID
3569
+ *
3570
+ * @generated from field: uplim.api.v1.FolderRef destination_folder = 3;
3571
+ */
3572
+ destinationFolder?: FolderRef;
3573
+
3574
+ /**
3575
+ * The slug for the copied upload (required)
3576
+ *
3577
+ * @generated from field: string slug = 4;
3578
+ */
3579
+ slug: string;
3580
+
3581
+ /**
3582
+ * Optional tags to set on the copied upload (uses source tags if not provided)
3583
+ *
3584
+ * @generated from field: repeated string tags = 6;
3585
+ */
3586
+ tags: string[];
3587
+ };
3588
+
3589
+ /**
3590
+ * Describes the message uplim.api.v1.CopyUploadRequest.
3591
+ * Use `create(CopyUploadRequestSchema)` to create a new message.
3592
+ */
3593
+ export const CopyUploadRequestSchema: GenMessage<CopyUploadRequest> = /*@__PURE__*/
3594
+ messageDesc(file_uplim_api_v1_uploads, 76);
3595
+
3596
+ /**
3597
+ * @generated from message uplim.api.v1.CopyUploadResponse
3598
+ */
3599
+ export type CopyUploadResponse = Message<"uplim.api.v1.CopyUploadResponse"> & {
3600
+ /**
3601
+ * The newly created upload
3602
+ *
3603
+ * @generated from field: uplim.api.v1.Upload upload = 1;
3604
+ */
3605
+ upload?: Upload;
3606
+ };
3607
+
3608
+ /**
3609
+ * Describes the message uplim.api.v1.CopyUploadResponse.
3610
+ * Use `create(CopyUploadResponseSchema)` to create a new message.
3611
+ */
3612
+ export const CopyUploadResponseSchema: GenMessage<CopyUploadResponse> = /*@__PURE__*/
3613
+ messageDesc(file_uplim_api_v1_uploads, 77);
3614
+
3615
+ /**
3616
+ * @generated from message uplim.api.v1.MoveUploadRequest
3617
+ */
3618
+ export type MoveUploadRequest = Message<"uplim.api.v1.MoveUploadRequest"> & {
3619
+ /**
3620
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
3621
+ */
3622
+ bucketRef?: BucketRef;
3623
+
3624
+ /**
3625
+ * The upload to move
3626
+ *
3627
+ * @generated from field: string upload_id = 2;
3628
+ */
3629
+ uploadId: string;
3630
+
3631
+ /**
3632
+ * Destination folder path or ID
3633
+ *
3634
+ * @generated from field: uplim.api.v1.FolderRef destination_folder = 3;
3635
+ */
3636
+ destinationFolder?: FolderRef;
3637
+
3638
+ /**
3639
+ * The new slug for the upload (required)
3640
+ *
3641
+ * @generated from field: string slug = 4;
3642
+ */
3643
+ slug: string;
3644
+ };
3645
+
3646
+ /**
3647
+ * Describes the message uplim.api.v1.MoveUploadRequest.
3648
+ * Use `create(MoveUploadRequestSchema)` to create a new message.
3649
+ */
3650
+ export const MoveUploadRequestSchema: GenMessage<MoveUploadRequest> = /*@__PURE__*/
3651
+ messageDesc(file_uplim_api_v1_uploads, 78);
3652
+
3653
+ /**
3654
+ * @generated from message uplim.api.v1.MoveUploadResponse
3655
+ */
3656
+ export type MoveUploadResponse = Message<"uplim.api.v1.MoveUploadResponse"> & {
3657
+ /**
3658
+ * The updated upload
3659
+ *
3660
+ * @generated from field: uplim.api.v1.Upload upload = 1;
3661
+ */
3662
+ upload?: Upload;
3663
+ };
3664
+
3665
+ /**
3666
+ * Describes the message uplim.api.v1.MoveUploadResponse.
3667
+ * Use `create(MoveUploadResponseSchema)` to create a new message.
3668
+ */
3669
+ export const MoveUploadResponseSchema: GenMessage<MoveUploadResponse> = /*@__PURE__*/
3670
+ messageDesc(file_uplim_api_v1_uploads, 79);
3671
+
3672
+ /**
3673
+ * @generated from message uplim.api.v1.CreateRendererAccessTokenRequest
3674
+ */
3675
+ export type CreateRendererAccessTokenRequest = Message<"uplim.api.v1.CreateRendererAccessTokenRequest"> & {
3676
+ /**
3677
+ * @generated from field: uplim.api.v1.BucketRef bucket_ref = 1;
3678
+ */
3679
+ bucketRef?: BucketRef;
3680
+
3681
+ /**
3682
+ * @generated from field: uplim.api.v1.UploadRef upload_ref = 2;
3683
+ */
3684
+ uploadRef?: UploadRef;
3685
+ };
3686
+
3687
+ /**
3688
+ * Describes the message uplim.api.v1.CreateRendererAccessTokenRequest.
3689
+ * Use `create(CreateRendererAccessTokenRequestSchema)` to create a new message.
3690
+ */
3691
+ export const CreateRendererAccessTokenRequestSchema: GenMessage<CreateRendererAccessTokenRequest> = /*@__PURE__*/
3692
+ messageDesc(file_uplim_api_v1_uploads, 80);
3693
+
3694
+ /**
3695
+ * @generated from message uplim.api.v1.CreateRendererAccessTokenResponse
3696
+ */
3697
+ export type CreateRendererAccessTokenResponse = Message<"uplim.api.v1.CreateRendererAccessTokenResponse"> & {
3698
+ /**
3699
+ * @generated from field: string token = 1;
3700
+ */
3701
+ token: string;
3702
+
3703
+ /**
3704
+ * @generated from field: google.protobuf.Timestamp expires_at = 2;
3705
+ */
3706
+ expiresAt?: Timestamp;
3707
+ };
3708
+
3709
+ /**
3710
+ * Describes the message uplim.api.v1.CreateRendererAccessTokenResponse.
3711
+ * Use `create(CreateRendererAccessTokenResponseSchema)` to create a new message.
3712
+ */
3713
+ export const CreateRendererAccessTokenResponseSchema: GenMessage<CreateRendererAccessTokenResponse> = /*@__PURE__*/
3714
+ messageDesc(file_uplim_api_v1_uploads, 81);
3715
+
3716
+ /**
3717
+ * The detected content type of an upload, used for preview rendering and categorisation
3718
+ *
3719
+ * @generated from enum uplim.api.v1.UploadType
3720
+ */
3721
+ export enum UploadType {
3722
+ /**
3723
+ * @generated from enum value: UPLOAD_TYPE_UNSPECIFIED = 0;
3724
+ */
3725
+ UPLOAD_TYPE_UNSPECIFIED = 0,
3726
+
3727
+ /**
3728
+ * Image files (PNG, JPEG, GIF, WebP, SVG, etc.)
3729
+ *
3730
+ * @generated from enum value: UPLOAD_TYPE_IMAGE = 1;
3731
+ */
3732
+ UPLOAD_TYPE_IMAGE = 1,
3733
+
3734
+ /**
3735
+ * Source code files (JS, Python, Go, etc.)
3736
+ *
3737
+ * @generated from enum value: UPLOAD_TYPE_CODE = 3;
3738
+ */
3739
+ UPLOAD_TYPE_CODE = 3,
3740
+
3741
+ /**
3742
+ * Audio files (MP3, WAV, FLAC, etc.)
3743
+ *
3744
+ * @generated from enum value: UPLOAD_TYPE_AUDIO = 4;
3745
+ */
3746
+ UPLOAD_TYPE_AUDIO = 4,
3747
+
3748
+ /**
3749
+ * Video files (MP4, WebM, MOV, etc.)
3750
+ *
3751
+ * @generated from enum value: UPLOAD_TYPE_VIDEO = 5;
3752
+ */
3753
+ UPLOAD_TYPE_VIDEO = 5,
3754
+
3755
+ /**
3756
+ * Plain text files
3757
+ *
3758
+ * @generated from enum value: UPLOAD_TYPE_TEXT = 6;
3759
+ */
3760
+ UPLOAD_TYPE_TEXT = 6,
3761
+
3762
+ /**
3763
+ * Markdown files
3764
+ *
3765
+ * @generated from enum value: UPLOAD_TYPE_MARKDOWN = 7;
3766
+ */
3767
+ UPLOAD_TYPE_MARKDOWN = 7,
3768
+
3769
+ /**
3770
+ * PDF documents
3771
+ *
3772
+ * @generated from enum value: UPLOAD_TYPE_PDF = 8;
3773
+ */
3774
+ UPLOAD_TYPE_PDF = 8,
3775
+
3776
+ /**
3777
+ * Archive files (ZIP, TAR, GZIP, etc.)
3778
+ *
3779
+ * @generated from enum value: UPLOAD_TYPE_ARCHIVE = 9;
3780
+ */
3781
+ UPLOAD_TYPE_ARCHIVE = 9,
3782
+
3783
+ /**
3784
+ * 3D model files (GLTF, OBJ, STL, etc.)
3785
+ *
3786
+ * @generated from enum value: UPLOAD_TYPE_3D = 10;
3787
+ */
3788
+ UPLOAD_TYPE_3D = 10,
3789
+
3790
+ /**
3791
+ * Executable files (EXE, AppImage, etc.)
3792
+ *
3793
+ * @generated from enum value: UPLOAD_TYPE_EXECUTABLE = 11;
3794
+ */
3795
+ UPLOAD_TYPE_EXECUTABLE = 11,
3796
+
3797
+ /**
3798
+ * Document files (DOCX, ODT, etc.)
3799
+ *
3800
+ * @generated from enum value: UPLOAD_TYPE_DOCUMENT = 12;
3801
+ */
3802
+ UPLOAD_TYPE_DOCUMENT = 12,
3803
+
3804
+ /**
3805
+ * Spreadsheet files (XLSX, CSV, ODS, etc.)
3806
+ *
3807
+ * @generated from enum value: UPLOAD_TYPE_SPREADSHEET = 13;
3808
+ */
3809
+ UPLOAD_TYPE_SPREADSHEET = 13,
3810
+
3811
+ /**
3812
+ * Presentation files (PPTX, ODP, etc.)
3813
+ *
3814
+ * @generated from enum value: UPLOAD_TYPE_PRESENTATION = 14;
3815
+ */
3816
+ UPLOAD_TYPE_PRESENTATION = 14,
3817
+
3818
+ /**
3819
+ * Font files (TTF, OTF, WOFF, etc.)
3820
+ *
3821
+ * @generated from enum value: UPLOAD_TYPE_FONT = 15;
3822
+ */
3823
+ UPLOAD_TYPE_FONT = 15,
3824
+
3825
+ /**
3826
+ * URL/link files
3827
+ *
3828
+ * @generated from enum value: UPLOAD_TYPE_LINK = 16;
3829
+ */
3830
+ UPLOAD_TYPE_LINK = 16,
3831
+
3832
+ /**
3833
+ * Certificate files
3834
+ *
3835
+ * @generated from enum value: UPLOAD_TYPE_CRT = 17;
3836
+ */
3837
+ UPLOAD_TYPE_CRT = 17,
3838
+
3839
+ /**
3840
+ * Integration renderer archive (internal use)
3841
+ *
3842
+ * @generated from enum value: UPLOAD_TYPE_INTEGRATION_ARCHIVE = 18;
3843
+ */
3844
+ UPLOAD_TYPE_INTEGRATION_ARCHIVE = 18,
3845
+
3846
+ /**
3847
+ * Catch-all type for uploads that don't fit into any other category. This can be used for unknown types or for types that are intentionally uncategorized.
3848
+ * These files will be treated as downloads, but no client-side previews will be provided.
3849
+ * Thumbnails may still be generated if a supported parser can be identified.
3850
+ *
3851
+ * @generated from enum value: UPLOAD_TYPE_OTHER = 1000;
3852
+ */
3853
+ UPLOAD_TYPE_OTHER = 1000,
3854
+ }
3855
+
3856
+ /**
3857
+ * Describes the enum uplim.api.v1.UploadType.
3858
+ */
3859
+ export const UploadTypeSchema: GenEnum<UploadType> = /*@__PURE__*/
3860
+ enumDesc(file_uplim_api_v1_uploads, 0);
3861
+
3862
+ /**
3863
+ * @generated from enum uplim.api.v1.TreeUploadFilterMode
3864
+ */
3865
+ export enum TreeUploadFilterMode {
3866
+ /**
3867
+ * @generated from enum value: TREE_UPLOAD_FILTER_MODE_AND = 0;
3868
+ */
3869
+ AND = 0,
3870
+
3871
+ /**
3872
+ * @generated from enum value: TREE_UPLOAD_FILTER_MODE_OR = 1;
3873
+ */
3874
+ OR = 1,
3875
+ }
3876
+
3877
+ /**
3878
+ * Describes the enum uplim.api.v1.TreeUploadFilterMode.
3879
+ */
3880
+ export const TreeUploadFilterModeSchema: GenEnum<TreeUploadFilterMode> = /*@__PURE__*/
3881
+ enumDesc(file_uplim_api_v1_uploads, 1);
3882
+
3883
+ /**
3884
+ * Types of derived/meta uploads generated from a source upload
3885
+ *
3886
+ * @generated from enum uplim.api.v1.MetaUploadType
3887
+ */
3888
+ export enum MetaUploadType {
3889
+ /**
3890
+ * @generated from enum value: MetaUploadType_UNSPECIFIED = 0;
3891
+ */
3892
+ MetaUploadType_UNSPECIFIED = 0,
3893
+
3894
+ /**
3895
+ * Light theme thumbnail image
3896
+ *
3897
+ * @generated from enum value: MetaUploadType_THUMBNAIL_LIGHT = 1;
3898
+ */
3899
+ MetaUploadType_THUMBNAIL_LIGHT = 1,
3900
+
3901
+ /**
3902
+ * Dark theme thumbnail image
3903
+ *
3904
+ * @generated from enum value: MetaUploadType_THUMBNAIL_DARK = 6;
3905
+ */
3906
+ MetaUploadType_THUMBNAIL_DARK = 6,
3907
+
3908
+ /**
3909
+ * Video timeline preview frame at position N
3910
+ *
3911
+ * @generated from enum value: MetaUploadType_VIDEO_TIMELINE_N = 2;
3912
+ */
3913
+ MetaUploadType_VIDEO_TIMELINE_N = 2,
3914
+
3915
+ /**
3916
+ * JSON archive directory tree structure
3917
+ *
3918
+ * @generated from enum value: MediaUploadType_ARCHIVE_TREE = 3;
3919
+ */
3920
+ MediaUploadType_ARCHIVE_TREE = 3,
3921
+
3922
+ /**
3923
+ * AI-generated content analysis
3924
+ *
3925
+ * @generated from enum value: MetaUploadType_AI_CONTENT = 4;
3926
+ */
3927
+ MetaUploadType_AI_CONTENT = 4,
3928
+
3929
+ /**
3930
+ * Individual file extracted from an archive (indexed by filename)
3931
+ *
3932
+ * @generated from enum value: MetaUploadType_ARCHIVE_FILE = 5;
3933
+ */
3934
+ MetaUploadType_ARCHIVE_FILE = 5,
3935
+
3936
+ /**
3937
+ * Renderer config.json from an integration archive
3938
+ *
3939
+ * @generated from enum value: MetaUploadType_RENDERER_CONFIG = 7;
3940
+ */
3941
+ MetaUploadType_RENDERER_CONFIG = 7,
3942
+
3943
+ /**
3944
+ * Full-resolution browser-compatible image conversion (e.g. HEIC → WebP)
3945
+ *
3946
+ * @generated from enum value: MetaUploadType_IMAGE_COMPAT = 8;
3947
+ */
3948
+ MetaUploadType_IMAGE_COMPAT = 8,
3949
+ }
3950
+
3951
+ /**
3952
+ * Describes the enum uplim.api.v1.MetaUploadType.
3953
+ */
3954
+ export const MetaUploadTypeSchema: GenEnum<MetaUploadType> = /*@__PURE__*/
3955
+ enumDesc(file_uplim_api_v1_uploads, 2);
3956
+
3957
+ /**
3958
+ * Service for managing bucket uploads
3959
+ *
3960
+ * @generated from service uplim.api.v1.BucketUploadsService
3961
+ */
3962
+ export const BucketUploadsService: GenService<{
3963
+ /**
3964
+ * Lists uploads in a specified bucket
3965
+ *
3966
+ * @generated from rpc uplim.api.v1.BucketUploadsService.ListUploads
3967
+ */
3968
+ listUploads: {
3969
+ methodKind: "unary";
3970
+ input: typeof ListUploadsRequestSchema;
3971
+ output: typeof ListUploadsResponseSchema;
3972
+ },
3973
+ /**
3974
+ * Retrieves upload breakdown for a specified bucket
3975
+ *
3976
+ * @generated from rpc uplim.api.v1.BucketUploadsService.GetUploadBreakdown
3977
+ */
3978
+ getUploadBreakdown: {
3979
+ methodKind: "unary";
3980
+ input: typeof GetUploadBreakdownRequestSchema;
3981
+ output: typeof GetUploadBreakdownResponseSchema;
3982
+ },
3983
+ /**
3984
+ * Creates a new upload in a specified bucket
3985
+ *
3986
+ * @generated from rpc uplim.api.v1.BucketUploadsService.CreateUpload
3987
+ */
3988
+ createUpload: {
3989
+ methodKind: "unary";
3990
+ input: typeof CreateUploadRequestSchema;
3991
+ output: typeof CreateUploadResponseSchema;
3992
+ },
3993
+ /**
3994
+ * Retrieves a specific upload from a bucket
3995
+ *
3996
+ * @generated from rpc uplim.api.v1.BucketUploadsService.GetUpload
3997
+ */
3998
+ getUpload: {
3999
+ methodKind: "unary";
4000
+ input: typeof GetUploadRequestSchema;
4001
+ output: typeof GetUploadResponseSchema;
4002
+ },
4003
+ /**
4004
+ * @generated from rpc uplim.api.v1.BucketUploadsService.GetUploadMetadata
4005
+ */
4006
+ getUploadMetadata: {
4007
+ methodKind: "unary";
4008
+ input: typeof GetUploadRequestSchema;
4009
+ output: typeof GetUploadMetadataResponseSchema;
4010
+ },
4011
+ /**
4012
+ * @generated from rpc uplim.api.v1.BucketUploadsService.UpdateUpload
4013
+ */
4014
+ updateUpload: {
4015
+ methodKind: "unary";
4016
+ input: typeof UpdateUploadRequestSchema;
4017
+ output: typeof UpdateUploadResponseSchema;
4018
+ },
4019
+ /**
4020
+ * @generated from rpc uplim.api.v1.BucketUploadsService.DeleteUpload
4021
+ */
4022
+ deleteUpload: {
4023
+ methodKind: "unary";
4024
+ input: typeof DeleteUploadRequestSchema;
4025
+ output: typeof EmptySchema;
4026
+ },
4027
+ /**
4028
+ * Requests an upload to a specified bucket
4029
+ *
4030
+ * @generated from rpc uplim.api.v1.BucketUploadsService.RequestUpload
4031
+ */
4032
+ requestUpload: {
4033
+ methodKind: "unary";
4034
+ input: typeof RequestUploadRequestSchema;
4035
+ output: typeof RequestUploadResponseSchema;
4036
+ },
4037
+ /**
4038
+ * @generated from rpc uplim.api.v1.BucketUploadsService.CreateSignedUploadIntent
4039
+ */
4040
+ createSignedUploadIntent: {
4041
+ methodKind: "unary";
4042
+ input: typeof CreateSignedUploadIntentRequestSchema;
4043
+ output: typeof CreateSignedUploadIntentResponseSchema;
4044
+ },
4045
+ /**
4046
+ * @generated from rpc uplim.api.v1.BucketUploadsService.RequestSignedUpload
4047
+ */
4048
+ requestSignedUpload: {
4049
+ methodKind: "unary";
4050
+ input: typeof RequestSignedUploadRequestSchema;
4051
+ output: typeof RequestUploadResponseSchema;
4052
+ },
4053
+ /**
4054
+ * @generated from rpc uplim.api.v1.BucketUploadsService.CompleteSignedUpload
4055
+ */
4056
+ completeSignedUpload: {
4057
+ methodKind: "unary";
4058
+ input: typeof CompleteSignedUploadRequestSchema;
4059
+ output: typeof CompleteSignedUploadResponseSchema;
4060
+ },
4061
+ /**
4062
+ * @generated from rpc uplim.api.v1.BucketUploadsService.RequestUploadListParts
4063
+ */
4064
+ requestUploadListParts: {
4065
+ methodKind: "unary";
4066
+ input: typeof RequestUploadListPartsRequestSchema;
4067
+ output: typeof RequestUploadListPartsResponseSchema;
4068
+ },
4069
+ /**
4070
+ * @generated from rpc uplim.api.v1.BucketUploadsService.RequestUploadGetPart
4071
+ */
4072
+ requestUploadGetPart: {
4073
+ methodKind: "unary";
4074
+ input: typeof RequestUploadGetPartRequestSchema;
4075
+ output: typeof RequestUploadGetPartResponseSchema;
4076
+ },
4077
+ /**
4078
+ * @generated from rpc uplim.api.v1.BucketUploadsService.GetUploadDownloadUrl
4079
+ */
4080
+ getUploadDownloadUrl: {
4081
+ methodKind: "unary";
4082
+ input: typeof GetUploadDownloadUrlRequestSchema;
4083
+ output: typeof GetUploadDownloadUrlResponseSchema;
4084
+ },
4085
+ /**
4086
+ * @generated from rpc uplim.api.v1.BucketUploadsService.ListUploadHistory
4087
+ */
4088
+ listUploadHistory: {
4089
+ methodKind: "unary";
4090
+ input: typeof ListUploadHistoryRequestSchema;
4091
+ output: typeof ListUploadHistoryResponseSchema;
4092
+ },
4093
+ /**
4094
+ * @generated from rpc uplim.api.v1.BucketUploadsService.GetUploadHistoryContent
4095
+ */
4096
+ getUploadHistoryContent: {
4097
+ methodKind: "unary";
4098
+ input: typeof GetUploadHistoryContentRequestSchema;
4099
+ output: typeof GetUploadHistoryContentResponseSchema;
4100
+ },
4101
+ /**
4102
+ * @generated from rpc uplim.api.v1.BucketUploadsService.RestoreUploadFromHistory
4103
+ */
4104
+ restoreUploadFromHistory: {
4105
+ methodKind: "unary";
4106
+ input: typeof RestoreUploadFromHistoryRequestSchema;
4107
+ output: typeof RestoreUploadFromHistoryResponseSchema;
4108
+ },
4109
+ /**
4110
+ * @generated from rpc uplim.api.v1.BucketUploadsService.DeleteUploadHistory
4111
+ */
4112
+ deleteUploadHistory: {
4113
+ methodKind: "unary";
4114
+ input: typeof DeleteUploadHistoryRequestSchema;
4115
+ output: typeof EmptySchema;
4116
+ },
4117
+ /**
4118
+ * @generated from rpc uplim.api.v1.BucketUploadsService.GetTextContent
4119
+ */
4120
+ getTextContent: {
4121
+ methodKind: "unary";
4122
+ input: typeof GetTextContentRequestSchema;
4123
+ output: typeof GetTextContentResponseSchema;
4124
+ },
4125
+ /**
4126
+ * @generated from rpc uplim.api.v1.BucketUploadsService.SetTextContent
4127
+ */
4128
+ setTextContent: {
4129
+ methodKind: "unary";
4130
+ input: typeof SetTextContentRequestSchema;
4131
+ output: typeof SetTextContentResponseSchema;
4132
+ },
4133
+ /**
4134
+ * @generated from rpc uplim.api.v1.BucketUploadsService.CopyUpload
4135
+ */
4136
+ copyUpload: {
4137
+ methodKind: "unary";
4138
+ input: typeof CopyUploadRequestSchema;
4139
+ output: typeof CopyUploadResponseSchema;
4140
+ },
4141
+ /**
4142
+ * @generated from rpc uplim.api.v1.BucketUploadsService.MoveUpload
4143
+ */
4144
+ moveUpload: {
4145
+ methodKind: "unary";
4146
+ input: typeof MoveUploadRequestSchema;
4147
+ output: typeof MoveUploadResponseSchema;
4148
+ },
4149
+ /**
4150
+ * @generated from rpc uplim.api.v1.BucketUploadsService.CreateRendererAccessToken
4151
+ */
4152
+ createRendererAccessToken: {
4153
+ methodKind: "unary";
4154
+ input: typeof CreateRendererAccessTokenRequestSchema;
4155
+ output: typeof CreateRendererAccessTokenResponseSchema;
4156
+ },
4157
+ }> = /*@__PURE__*/
4158
+ serviceDesc(file_uplim_api_v1_uploads, 0);
4159
+
4160
+ /**
4161
+ * Service for managing bucket folders
4162
+ *
4163
+ * @generated from service uplim.api.v1.BucketFoldersService
4164
+ */
4165
+ export const BucketFoldersService: GenService<{
4166
+ /**
4167
+ * Lists folders in a specified bucket
4168
+ *
4169
+ * @generated from rpc uplim.api.v1.BucketFoldersService.ListFolders
4170
+ */
4171
+ listFolders: {
4172
+ methodKind: "unary";
4173
+ input: typeof ListFoldersRequestSchema;
4174
+ output: typeof ListFoldersResponseSchema;
4175
+ },
4176
+ /**
4177
+ * Get a folder
4178
+ *
4179
+ * @generated from rpc uplim.api.v1.BucketFoldersService.GetFolder
4180
+ */
4181
+ getFolder: {
4182
+ methodKind: "unary";
4183
+ input: typeof GetFolderRequestSchema;
4184
+ output: typeof GetFolderResponseSchema;
4185
+ },
4186
+ /**
4187
+ * Creates a new folder in a specified bucket
4188
+ *
4189
+ * @generated from rpc uplim.api.v1.BucketFoldersService.CreateFolder
4190
+ */
4191
+ createFolder: {
4192
+ methodKind: "unary";
4193
+ input: typeof CreateFolderRequestSchema;
4194
+ output: typeof CreateFolderResponseSchema;
4195
+ },
4196
+ /**
4197
+ * @generated from rpc uplim.api.v1.BucketFoldersService.UpdateFolder
4198
+ */
4199
+ updateFolder: {
4200
+ methodKind: "unary";
4201
+ input: typeof UpdateFolderRequestSchema;
4202
+ output: typeof UpdateFolderResponseSchema;
4203
+ },
4204
+ /**
4205
+ * @generated from rpc uplim.api.v1.BucketFoldersService.DeleteFolder
4206
+ */
4207
+ deleteFolder: {
4208
+ methodKind: "unary";
4209
+ input: typeof DeleteFolderRequestSchema;
4210
+ output: typeof EmptySchema;
4211
+ },
4212
+ /**
4213
+ * @generated from rpc uplim.api.v1.BucketFoldersService.ListFolderTree
4214
+ */
4215
+ listFolderTree: {
4216
+ methodKind: "unary";
4217
+ input: typeof ListFolderTreeRequestSchema;
4218
+ output: typeof ListFolderTreeResponseSchema;
4219
+ },
4220
+ /**
4221
+ * @generated from rpc uplim.api.v1.BucketFoldersService.BulkUpdateOrder
4222
+ */
4223
+ bulkUpdateOrder: {
4224
+ methodKind: "unary";
4225
+ input: typeof BulkUpdateOrderRequestSchema;
4226
+ output: typeof BulkUpdateOrderResponseSchema;
4227
+ },
4228
+ }> = /*@__PURE__*/
4229
+ serviceDesc(file_uplim_api_v1_uploads, 1);
4230
+
4231
+ /**
4232
+ * @generated from service uplim.api.v1.BucketTagsService
4233
+ */
4234
+ export const BucketTagsService: GenService<{
4235
+ /**
4236
+ * @generated from rpc uplim.api.v1.BucketTagsService.ListTags
4237
+ */
4238
+ listTags: {
4239
+ methodKind: "unary";
4240
+ input: typeof ListTagsRequestSchema;
4241
+ output: typeof ListTagsResponseSchema;
4242
+ },
4243
+ }> = /*@__PURE__*/
4244
+ serviceDesc(file_uplim_api_v1_uploads, 2);
4245
+
4246
+ /**
4247
+ * Internal service used by the media processing pipeline. Not available via public OAuth.
4248
+ *
4249
+ * @generated from service uplim.api.v1.InternalUploadsService
4250
+ */
4251
+ export const InternalUploadsService: GenService<{
4252
+ /**
4253
+ * Update upload metadata after processing (validation, thumbnails, AI metadata, virus scan)
4254
+ *
4255
+ * @generated from rpc uplim.api.v1.InternalUploadsService.UpdateUpload
4256
+ */
4257
+ updateUpload: {
4258
+ methodKind: "unary";
4259
+ input: typeof InternalUpdateUploadRequestSchema;
4260
+ output: typeof InternalUpdateUploadResponseSchema;
4261
+ },
4262
+ /**
4263
+ * Request presigned URLs for uploading meta files (thumbnails, archive trees, etc.)
4264
+ *
4265
+ * @generated from rpc uplim.api.v1.InternalUploadsService.RequestMetaUpload
4266
+ */
4267
+ requestMetaUpload: {
4268
+ methodKind: "unary";
4269
+ input: typeof RequestMetaUploadRequestSchema;
4270
+ output: typeof RequestMetaUploadResponseSchema;
4271
+ },
4272
+ /**
4273
+ * Confirm that meta uploads have been completed
4274
+ *
4275
+ * @generated from rpc uplim.api.v1.InternalUploadsService.ConfirmMetaUpload
4276
+ */
4277
+ confirmMetaUpload: {
4278
+ methodKind: "unary";
4279
+ input: typeof ConfirmMetaUploadRequestSchema;
4280
+ output: typeof ConfirmMetaUploadResponseSchema;
4281
+ },
4282
+ /**
4283
+ * Get the processing context for an upload (source URL, metadata, folder context)
4284
+ *
4285
+ * @generated from rpc uplim.api.v1.InternalUploadsService.GetProcessingContext
4286
+ */
4287
+ getProcessingContext: {
4288
+ methodKind: "unary";
4289
+ input: typeof GetProcessingContextRequestSchema;
4290
+ output: typeof GetProcessingContextResponseSchema;
4291
+ },
4292
+ }> = /*@__PURE__*/
4293
+ serviceDesc(file_uplim_api_v1_uploads, 3);
4294
+