@opentdf/sdk 0.4.1-rc.37 → 0.5.0-beta.42

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 (221) hide show
  1. package/dist/cjs/src/access/access-fetch.js +2 -1
  2. package/dist/cjs/src/access/access-rpc.js +11 -5
  3. package/dist/cjs/src/access/constants.js +6 -0
  4. package/dist/cjs/src/access.js +39 -4
  5. package/dist/cjs/src/auth/oidc-clientcredentials-provider.js +4 -2
  6. package/dist/cjs/src/auth/oidc-externaljwt-provider.js +5 -3
  7. package/dist/cjs/src/auth/oidc-refreshtoken-provider.js +19 -3
  8. package/dist/cjs/src/auth/oidc.js +9 -8
  9. package/dist/cjs/src/auth/providers.js +7 -1
  10. package/dist/cjs/src/index.js +4 -2
  11. package/dist/cjs/src/nanoclients.js +4 -4
  12. package/dist/cjs/src/nanotdf/Client.js +10 -6
  13. package/dist/cjs/src/opentdf.js +102 -13
  14. package/dist/cjs/src/platform/authorization/v2/authorization_pb.js +112 -0
  15. package/dist/cjs/src/platform/buf/validate/validate_pb.js +114 -170
  16. package/dist/cjs/src/platform/common/common_pb.js +16 -5
  17. package/dist/cjs/src/platform/entity/entity_pb.js +51 -0
  18. package/dist/cjs/src/platform/entityresolution/entity_resolution_pb.js +1 -1
  19. package/dist/cjs/src/platform/entityresolution/v2/entity_resolution_pb.js +49 -0
  20. package/dist/cjs/src/platform/google/api/annotations_pb.js +1 -1
  21. package/dist/cjs/src/platform/google/api/http_pb.js +3 -3
  22. package/dist/cjs/src/platform/kas/kas_pb.js +2 -2
  23. package/dist/cjs/src/platform/policy/attributes/attributes_pb.js +12 -2
  24. package/dist/cjs/src/platform/policy/kasregistry/key_access_server_registry_pb.js +57 -4
  25. package/dist/cjs/src/platform/policy/keymanagement/key_management_pb.js +2 -2
  26. package/dist/cjs/src/platform/policy/namespaces/namespaces_pb.js +31 -4
  27. package/dist/cjs/src/platform/policy/objects_pb.js +116 -42
  28. package/dist/cjs/src/platform/policy/obligations/obligations_pb.js +159 -0
  29. package/dist/cjs/src/platform/policy/registeredresources/registered_resources_pb.js +20 -15
  30. package/dist/cjs/src/platform/policy/resourcemapping/resource_mapping_pb.js +2 -3
  31. package/dist/cjs/src/platform/policy/selectors_pb.js +1 -1
  32. package/dist/cjs/src/platform/policy/subjectmapping/subject_mapping_pb.js +2 -3
  33. package/dist/cjs/src/platform/policy/unsafe/unsafe_pb.js +2 -4
  34. package/dist/cjs/src/platform.js +20 -3
  35. package/dist/cjs/src/policy/api.js +27 -7
  36. package/dist/cjs/src/policy/granter.js +75 -48
  37. package/dist/cjs/src/seekable.js +32 -1
  38. package/dist/cjs/src/utils.js +85 -3
  39. package/dist/cjs/src/version.js +1 -1
  40. package/dist/cjs/tdf3/src/assertions.js +39 -2
  41. package/dist/cjs/tdf3/src/client/DecoratedReadableStream.js +8 -1
  42. package/dist/cjs/tdf3/src/client/builders.js +13 -1
  43. package/dist/cjs/tdf3/src/client/index.js +213 -54
  44. package/dist/cjs/tdf3/src/client/validation.js +3 -3
  45. package/dist/cjs/tdf3/src/tdf.js +42 -9
  46. package/dist/cjs/tdf3/src/utils/unwrap.js +2 -2
  47. package/dist/types/src/access/access-fetch.d.ts +1 -0
  48. package/dist/types/src/access/access-fetch.d.ts.map +1 -1
  49. package/dist/types/src/access/access-rpc.d.ts +2 -1
  50. package/dist/types/src/access/access-rpc.d.ts.map +1 -1
  51. package/dist/types/src/access/constants.d.ts +3 -0
  52. package/dist/types/src/access/constants.d.ts.map +1 -0
  53. package/dist/types/src/access.d.ts +30 -1
  54. package/dist/types/src/access.d.ts.map +1 -1
  55. package/dist/types/src/auth/oidc-clientcredentials-provider.d.ts +1 -1
  56. package/dist/types/src/auth/oidc-clientcredentials-provider.d.ts.map +1 -1
  57. package/dist/types/src/auth/oidc-externaljwt-provider.d.ts +1 -1
  58. package/dist/types/src/auth/oidc-externaljwt-provider.d.ts.map +1 -1
  59. package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts +15 -1
  60. package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts.map +1 -1
  61. package/dist/types/src/auth/oidc.d.ts +4 -0
  62. package/dist/types/src/auth/oidc.d.ts.map +1 -1
  63. package/dist/types/src/auth/providers.d.ts.map +1 -1
  64. package/dist/types/src/index.d.ts +1 -0
  65. package/dist/types/src/index.d.ts.map +1 -1
  66. package/dist/types/src/nanotdf/Client.d.ts +8 -1
  67. package/dist/types/src/nanotdf/Client.d.ts.map +1 -1
  68. package/dist/types/src/opentdf.d.ts +137 -6
  69. package/dist/types/src/opentdf.d.ts.map +1 -1
  70. package/dist/types/src/platform/authorization/v2/authorization_pb.d.ts +439 -0
  71. package/dist/types/src/platform/authorization/v2/authorization_pb.d.ts.map +1 -0
  72. package/dist/types/src/platform/buf/validate/validate_pb.d.ts +495 -370
  73. package/dist/types/src/platform/buf/validate/validate_pb.d.ts.map +1 -1
  74. package/dist/types/src/platform/common/common_pb.d.ts +36 -0
  75. package/dist/types/src/platform/common/common_pb.d.ts.map +1 -1
  76. package/dist/types/src/platform/entity/entity_pb.d.ts +130 -0
  77. package/dist/types/src/platform/entity/entity_pb.d.ts.map +1 -0
  78. package/dist/types/src/platform/entityresolution/entity_resolution_pb.d.ts +4 -0
  79. package/dist/types/src/platform/entityresolution/entity_resolution_pb.d.ts.map +1 -1
  80. package/dist/types/src/platform/entityresolution/v2/entity_resolution_pb.d.ts +136 -0
  81. package/dist/types/src/platform/entityresolution/v2/entity_resolution_pb.d.ts.map +1 -0
  82. package/dist/types/src/platform/google/api/http_pb.d.ts.map +1 -1
  83. package/dist/types/src/platform/kas/kas_pb.d.ts +5 -0
  84. package/dist/types/src/platform/kas/kas_pb.d.ts.map +1 -1
  85. package/dist/types/src/platform/policy/attributes/attributes_pb.d.ts +44 -13
  86. package/dist/types/src/platform/policy/attributes/attributes_pb.d.ts.map +1 -1
  87. package/dist/types/src/platform/policy/kasregistry/key_access_server_registry_pb.d.ts +329 -24
  88. package/dist/types/src/platform/policy/kasregistry/key_access_server_registry_pb.d.ts.map +1 -1
  89. package/dist/types/src/platform/policy/keymanagement/key_management_pb.d.ts +20 -1
  90. package/dist/types/src/platform/policy/keymanagement/key_management_pb.d.ts.map +1 -1
  91. package/dist/types/src/platform/policy/namespaces/namespaces_pb.d.ts +143 -5
  92. package/dist/types/src/platform/policy/namespaces/namespaces_pb.d.ts.map +1 -1
  93. package/dist/types/src/platform/policy/objects_pb.d.ts +382 -33
  94. package/dist/types/src/platform/policy/objects_pb.d.ts.map +1 -1
  95. package/dist/types/src/platform/policy/obligations/obligations_pb.d.ts +670 -0
  96. package/dist/types/src/platform/policy/obligations/obligations_pb.d.ts.map +1 -0
  97. package/dist/types/src/platform/policy/registeredresources/registered_resources_pb.d.ts +67 -0
  98. package/dist/types/src/platform/policy/registeredresources/registered_resources_pb.d.ts.map +1 -1
  99. package/dist/types/src/platform/policy/resourcemapping/resource_mapping_pb.d.ts.map +1 -1
  100. package/dist/types/src/platform/policy/selectors_pb.d.ts +18 -0
  101. package/dist/types/src/platform/policy/selectors_pb.d.ts.map +1 -1
  102. package/dist/types/src/platform/policy/subjectmapping/subject_mapping_pb.d.ts.map +1 -1
  103. package/dist/types/src/platform/policy/unsafe/unsafe_pb.d.ts +18 -4
  104. package/dist/types/src/platform/policy/unsafe/unsafe_pb.d.ts.map +1 -1
  105. package/dist/types/src/platform.d.ts +21 -0
  106. package/dist/types/src/platform.d.ts.map +1 -1
  107. package/dist/types/src/policy/api.d.ts +2 -0
  108. package/dist/types/src/policy/api.d.ts.map +1 -1
  109. package/dist/types/src/policy/granter.d.ts +11 -6
  110. package/dist/types/src/policy/granter.d.ts.map +1 -1
  111. package/dist/types/src/seekable.d.ts +31 -0
  112. package/dist/types/src/seekable.d.ts.map +1 -1
  113. package/dist/types/src/utils.d.ts +61 -2
  114. package/dist/types/src/utils.d.ts.map +1 -1
  115. package/dist/types/src/version.d.ts +1 -1
  116. package/dist/types/tdf3/src/assertions.d.ts +4 -0
  117. package/dist/types/tdf3/src/assertions.d.ts.map +1 -1
  118. package/dist/types/tdf3/src/client/DecoratedReadableStream.d.ts +6 -0
  119. package/dist/types/tdf3/src/client/DecoratedReadableStream.d.ts.map +1 -1
  120. package/dist/types/tdf3/src/client/builders.d.ts +14 -0
  121. package/dist/types/tdf3/src/client/builders.d.ts.map +1 -1
  122. package/dist/types/tdf3/src/client/index.d.ts +25 -4
  123. package/dist/types/tdf3/src/client/index.d.ts.map +1 -1
  124. package/dist/types/tdf3/src/client/validation.d.ts +3 -3
  125. package/dist/types/tdf3/src/client/validation.d.ts.map +1 -1
  126. package/dist/types/tdf3/src/tdf.d.ts +3 -1
  127. package/dist/types/tdf3/src/tdf.d.ts.map +1 -1
  128. package/dist/types/tdf3/src/utils/unwrap.d.ts.map +1 -1
  129. package/dist/web/src/access/access-fetch.js +2 -1
  130. package/dist/web/src/access/access-rpc.js +11 -5
  131. package/dist/web/src/access/constants.js +3 -0
  132. package/dist/web/src/access.js +37 -3
  133. package/dist/web/src/auth/oidc-clientcredentials-provider.js +4 -2
  134. package/dist/web/src/auth/oidc-externaljwt-provider.js +5 -3
  135. package/dist/web/src/auth/oidc-refreshtoken-provider.js +19 -3
  136. package/dist/web/src/auth/oidc.js +9 -8
  137. package/dist/web/src/auth/providers.js +7 -1
  138. package/dist/web/src/index.js +2 -1
  139. package/dist/web/src/nanoclients.js +4 -4
  140. package/dist/web/src/nanotdf/Client.js +11 -7
  141. package/dist/web/src/opentdf.js +102 -13
  142. package/dist/web/src/platform/authorization/v2/authorization_pb.js +109 -0
  143. package/dist/web/src/platform/buf/validate/validate_pb.js +113 -169
  144. package/dist/web/src/platform/common/common_pb.js +15 -4
  145. package/dist/web/src/platform/entity/entity_pb.js +48 -0
  146. package/dist/web/src/platform/entityresolution/entity_resolution_pb.js +1 -1
  147. package/dist/web/src/platform/entityresolution/v2/entity_resolution_pb.js +46 -0
  148. package/dist/web/src/platform/google/api/annotations_pb.js +1 -1
  149. package/dist/web/src/platform/google/api/http_pb.js +3 -3
  150. package/dist/web/src/platform/kas/kas_pb.js +2 -2
  151. package/dist/web/src/platform/policy/attributes/attributes_pb.js +12 -2
  152. package/dist/web/src/platform/policy/kasregistry/key_access_server_registry_pb.js +55 -3
  153. package/dist/web/src/platform/policy/keymanagement/key_management_pb.js +2 -2
  154. package/dist/web/src/platform/policy/namespaces/namespaces_pb.js +30 -3
  155. package/dist/web/src/platform/policy/objects_pb.js +114 -41
  156. package/dist/web/src/platform/policy/obligations/obligations_pb.js +156 -0
  157. package/dist/web/src/platform/policy/registeredresources/registered_resources_pb.js +19 -14
  158. package/dist/web/src/platform/policy/resourcemapping/resource_mapping_pb.js +2 -3
  159. package/dist/web/src/platform/policy/selectors_pb.js +1 -1
  160. package/dist/web/src/platform/policy/subjectmapping/subject_mapping_pb.js +2 -3
  161. package/dist/web/src/platform/policy/unsafe/unsafe_pb.js +2 -4
  162. package/dist/web/src/platform.js +20 -3
  163. package/dist/web/src/policy/api.js +26 -7
  164. package/dist/web/src/policy/granter.js +75 -48
  165. package/dist/web/src/seekable.js +32 -1
  166. package/dist/web/src/utils.js +84 -3
  167. package/dist/web/src/version.js +1 -1
  168. package/dist/web/tdf3/src/assertions.js +38 -2
  169. package/dist/web/tdf3/src/client/DecoratedReadableStream.js +8 -1
  170. package/dist/web/tdf3/src/client/builders.js +13 -1
  171. package/dist/web/tdf3/src/client/index.js +215 -57
  172. package/dist/web/tdf3/src/client/validation.js +3 -3
  173. package/dist/web/tdf3/src/tdf.js +42 -9
  174. package/dist/web/tdf3/src/utils/unwrap.js +2 -2
  175. package/package.json +7 -5
  176. package/src/access/access-fetch.ts +1 -0
  177. package/src/access/access-rpc.ts +13 -4
  178. package/src/access/constants.ts +2 -0
  179. package/src/access.ts +54 -2
  180. package/src/auth/oidc-clientcredentials-provider.ts +4 -0
  181. package/src/auth/oidc-externaljwt-provider.ts +5 -1
  182. package/src/auth/oidc-refreshtoken-provider.ts +19 -1
  183. package/src/auth/oidc.ts +12 -7
  184. package/src/auth/providers.ts +6 -0
  185. package/src/index.ts +1 -0
  186. package/src/nanoclients.ts +3 -3
  187. package/src/nanotdf/Client.ts +28 -6
  188. package/src/opentdf.ts +205 -73
  189. package/src/platform/authorization/v2/authorization_pb.ts +503 -0
  190. package/src/platform/buf/validate/validate_pb.ts +529 -401
  191. package/src/platform/common/common_pb.ts +48 -3
  192. package/src/platform/entity/entity_pb.ts +154 -0
  193. package/src/platform/entityresolution/entity_resolution_pb.ts +4 -0
  194. package/src/platform/entityresolution/v2/entity_resolution_pb.ts +170 -0
  195. package/src/platform/google/api/annotations_pb.ts +1 -1
  196. package/src/platform/google/api/http_pb.ts +2 -2
  197. package/src/platform/kas/kas_pb.ts +6 -1
  198. package/src/platform/policy/attributes/attributes_pb.ts +46 -16
  199. package/src/platform/policy/kasregistry/key_access_server_registry_pb.ts +371 -27
  200. package/src/platform/policy/keymanagement/key_management_pb.ts +24 -2
  201. package/src/platform/policy/namespaces/namespaces_pb.ts +163 -7
  202. package/src/platform/policy/objects_pb.ts +474 -59
  203. package/src/platform/policy/obligations/obligations_pb.ts +788 -0
  204. package/src/platform/policy/registeredresources/registered_resources_pb.ts +80 -13
  205. package/src/platform/policy/resourcemapping/resource_mapping_pb.ts +1 -2
  206. package/src/platform/policy/selectors_pb.ts +18 -0
  207. package/src/platform/policy/subjectmapping/subject_mapping_pb.ts +1 -2
  208. package/src/platform/policy/unsafe/unsafe_pb.ts +21 -6
  209. package/src/platform.ts +29 -5
  210. package/src/policy/api.ts +37 -6
  211. package/src/policy/granter.ts +82 -56
  212. package/src/seekable.ts +31 -0
  213. package/src/utils.ts +88 -2
  214. package/src/version.ts +1 -1
  215. package/tdf3/src/assertions.ts +52 -1
  216. package/tdf3/src/client/DecoratedReadableStream.ts +9 -0
  217. package/tdf3/src/client/builders.ts +16 -0
  218. package/tdf3/src/client/index.ts +309 -73
  219. package/tdf3/src/client/validation.ts +2 -2
  220. package/tdf3/src/tdf.ts +53 -9
  221. package/tdf3/src/utils/unwrap.ts +2 -1
@@ -14,7 +14,67 @@ import type { Message } from "@bufbuild/protobuf";
14
14
  * Describes the file policy/objects.proto.
15
15
  */
16
16
  export const file_policy_objects: GenFile = /*@__PURE__*/
17
- fileDesc("ChRwb2xpY3kvb2JqZWN0cy5wcm90bxIGcG9saWN5ImYKEUtleVByb3ZpZGVyQ29uZmlnEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLY29uZmlnX2pzb24YAyABKAwSIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEizQEKCU5hbWVzcGFjZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgsKA2ZxbhgDIAEoCRIqCgZhY3RpdmUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlEiIKCG1ldGFkYXRhGAUgASgLMhAuY29tbW9uLk1ldGFkYXRhEicKBmdyYW50cxgGIAMoCzIXLnBvbGljeS5LZXlBY2Nlc3NTZXJ2ZXISIAoIa2FzX2tleXMYByADKAsyDi5wb2xpY3kuS2FzS2V5IswCCglBdHRyaWJ1dGUSCgoCaWQYASABKAkSJAoJbmFtZXNwYWNlGAIgASgLMhEucG9saWN5Lk5hbWVzcGFjZRIMCgRuYW1lGAMgASgJEjgKBHJ1bGUYBCABKA4yHS5wb2xpY3kuQXR0cmlidXRlUnVsZVR5cGVFbnVtQgu6SAjIAQGCAQIQARIdCgZ2YWx1ZXMYBSADKAsyDS5wb2xpY3kuVmFsdWUSJwoGZ3JhbnRzGAYgAygLMhcucG9saWN5LktleUFjY2Vzc1NlcnZlchILCgNmcW4YByABKAkSKgoGYWN0aXZlGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZRIgCghrYXNfa2V5cxgJIAMoCzIOLnBvbGljeS5LYXNLZXkSIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEisQIKBVZhbHVlEgoKAmlkGAEgASgJEiQKCWF0dHJpYnV0ZRgCIAEoCzIRLnBvbGljeS5BdHRyaWJ1dGUSDQoFdmFsdWUYAyABKAkSJwoGZ3JhbnRzGAUgAygLMhcucG9saWN5LktleUFjY2Vzc1NlcnZlchILCgNmcW4YBiABKAkSKgoGYWN0aXZlGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZRIwChBzdWJqZWN0X21hcHBpbmdzGAggAygLMhYucG9saWN5LlN1YmplY3RNYXBwaW5nEiAKCGthc19rZXlzGAkgAygLMg4ucG9saWN5Lkthc0tleRIiCghtZXRhZGF0YRhkIAEoCzIQLmNvbW1vbi5NZXRhZGF0YUoECAQQBVIHbWVtYmVycyKCAgoGQWN0aW9uEgoKAmlkGAMgASgJEjEKCHN0YW5kYXJkGAEgASgOMh0ucG9saWN5LkFjdGlvbi5TdGFuZGFyZEFjdGlvbkgAEhAKBmN1c3RvbRgCIAEoCUgAEgwKBG5hbWUYBCABKAkSIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEibAoOU3RhbmRhcmRBY3Rpb24SHwobU1RBTkRBUkRfQUNUSU9OX1VOU1BFQ0lGSUVEEAASGwoXU1RBTkRBUkRfQUNUSU9OX0RFQ1JZUFQQARIcChhTVEFOREFSRF9BQ1RJT05fVFJBTlNNSVQQAkIHCgV2YWx1ZSLFAQoOU3ViamVjdE1hcHBpbmcSCgoCaWQYASABKAkSJgoPYXR0cmlidXRlX3ZhbHVlGAIgASgLMg0ucG9saWN5LlZhbHVlEjoKFXN1YmplY3RfY29uZGl0aW9uX3NldBgDIAEoCzIbLnBvbGljeS5TdWJqZWN0Q29uZGl0aW9uU2V0Eh8KB2FjdGlvbnMYBCADKAsyDi5wb2xpY3kuQWN0aW9uEiIKCG1ldGFkYXRhGGQgASgLMhAuY29tbW9uLk1ldGFkYXRhIqoBCglDb25kaXRpb24SLwofc3ViamVjdF9leHRlcm5hbF9zZWxlY3Rvcl92YWx1ZRgBIAEoCUIGukgDyAEBEkEKCG9wZXJhdG9yGAIgASgOMiIucG9saWN5LlN1YmplY3RNYXBwaW5nT3BlcmF0b3JFbnVtQgu6SAjIAQGCAQIQARIpChdzdWJqZWN0X2V4dGVybmFsX3ZhbHVlcxgDIAMoCUIIukgFkgECCAEiigEKDkNvbmRpdGlvbkdyb3VwEi8KCmNvbmRpdGlvbnMYASADKAsyES5wb2xpY3kuQ29uZGl0aW9uQgi6SAWSAQIIARJHChBib29sZWFuX29wZXJhdG9yGAIgASgOMiAucG9saWN5LkNvbmRpdGlvbkJvb2xlYW5UeXBlRW51bUILukgIyAEBggECEAEiSAoKU3ViamVjdFNldBI6ChBjb25kaXRpb25fZ3JvdXBzGAEgAygLMhYucG9saWN5LkNvbmRpdGlvbkdyb3VwQgi6SAWSAQIIASJ5ChNTdWJqZWN0Q29uZGl0aW9uU2V0EgoKAmlkGAEgASgJEjIKDHN1YmplY3Rfc2V0cxgDIAMoCzISLnBvbGljeS5TdWJqZWN0U2V0Qgi6SAWSAQIIARIiCghtZXRhZGF0YRhkIAEoCzIQLmNvbW1vbi5NZXRhZGF0YSJWCg9TdWJqZWN0UHJvcGVydHkSKwoXZXh0ZXJuYWxfc2VsZWN0b3JfdmFsdWUYASABKAlCCrpIB8gBAXICEAESFgoOZXh0ZXJuYWxfdmFsdWUYAiABKAkiegoUUmVzb3VyY2VNYXBwaW5nR3JvdXASCgoCaWQYASABKAkSHAoMbmFtZXNwYWNlX2lkGAIgASgJQga6SAPIAQESFAoEbmFtZRgDIAEoCUIGukgDyAEBEiIKCG1ldGFkYXRhGGQgASgLMhAuY29tbW9uLk1ldGFkYXRhIq0BCg9SZXNvdXJjZU1hcHBpbmcSCgoCaWQYASABKAkSIgoIbWV0YWRhdGEYAiABKAsyEC5jb21tb24uTWV0YWRhdGESLgoPYXR0cmlidXRlX3ZhbHVlGAMgASgLMg0ucG9saWN5LlZhbHVlQga6SAPIAQESDQoFdGVybXMYBCADKAkSKwoFZ3JvdXAYBSABKAsyHC5wb2xpY3kuUmVzb3VyY2VNYXBwaW5nR3JvdXAixgQKD0tleUFjY2Vzc1NlcnZlchIKCgJpZBgBIAEoCRKCAwoDdXJpGAIgASgJQvQCukjwAroB7AIKCnVyaV9mb3JtYXQSzwFVUkkgbXVzdCBiZSBhIHZhbGlkIFVSTCAoZS5nLiwgJ2h0dHBzOi8vZGVtby5jb20vJykgZm9sbG93ZWQgYnkgYWRkaXRpb25hbCBzZWdtZW50cy4gRWFjaCBzZWdtZW50IG11c3Qgc3RhcnQgYW5kIGVuZCB3aXRoIGFuIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXIsIGNhbiBjb250YWluIGh5cGhlbnMsIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBhbmQgc2xhc2hlcy4aiwF0aGlzLm1hdGNoZXMoJ15odHRwcz86Ly9bYS16QS1aMC05XShbYS16QS1aMC05XFwtXXswLDYxfVthLXpBLVowLTldKT8oXFwuW2EtekEtWjAtOV0oW2EtekEtWjAtOVxcLV17MCw2MX1bYS16QS1aMC05XSk/KSooOlswLTldKyk/KC8uKik/JCcpEiUKCnB1YmxpY19rZXkYAyABKAsyES5wb2xpY3kuUHVibGljS2V5EicKC3NvdXJjZV90eXBlGAQgASgOMhIucG9saWN5LlNvdXJjZVR5cGUSIAoIa2FzX2tleXMYBSADKAsyDi5wb2xpY3kuS2FzS2V5EgwKBG5hbWUYFCABKAkSIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEi5AEKA0tleRIKCgJpZBgBIAEoCRItCglpc19hY3RpdmUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlEi4KCndhc19tYXBwZWQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlEigKCnB1YmxpY19rZXkYBCABKAsyFC5wb2xpY3kuS2FzUHVibGljS2V5EiQKA2thcxgFIAEoCzIXLnBvbGljeS5LZXlBY2Nlc3NTZXJ2ZXISIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEidQoMS2FzUHVibGljS2V5EhcKA3BlbRgBIAEoCUIKukgHcgUQARiAQBIWCgNraWQYAiABKAlCCbpIBnIEEAEYIBI0CgNhbGcYAyABKA4yGy5wb2xpY3kuS2FzUHVibGljS2V5QWxnRW51bUIKukgHggEEEAEgACI1Cg9LYXNQdWJsaWNLZXlTZXQSIgoEa2V5cxgBIAMoCzIULnBvbGljeS5LYXNQdWJsaWNLZXki0AMKCVB1YmxpY0tleRL8AgoGcmVtb3RlGAEgASgJQukCukjlAroB4QIKCnVyaV9mb3JtYXQSzwFVUkkgbXVzdCBiZSBhIHZhbGlkIFVSTCAoZS5nLiwgJ2h0dHBzOi8vZGVtby5jb20vJykgZm9sbG93ZWQgYnkgYWRkaXRpb25hbCBzZWdtZW50cy4gRWFjaCBzZWdtZW50IG11c3Qgc3RhcnQgYW5kIGVuZCB3aXRoIGFuIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXIsIGNhbiBjb250YWluIGh5cGhlbnMsIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBhbmQgc2xhc2hlcy4agAF0aGlzLm1hdGNoZXMoJ15odHRwczovL1thLXpBLVowLTldKFthLXpBLVowLTlcXC1dezAsNjF9W2EtekEtWjAtOV0pPyhcXC5bYS16QS1aMC05XShbYS16QS1aMC05XFwtXXswLDYxfVthLXpBLVowLTldKT8pKigvLiopPyQnKUgAEikKBmNhY2hlZBgDIAEoCzIXLnBvbGljeS5LYXNQdWJsaWNLZXlTZXRIAEIMCgpwdWJsaWNfa2V5SgQIAhADUgVsb2NhbCKDAQoSUmVnaXN0ZXJlZFJlc291cmNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSLwoGdmFsdWVzGAMgAygLMh8ucG9saWN5LlJlZ2lzdGVyZWRSZXNvdXJjZVZhbHVlEiIKCG1ldGFkYXRhGGQgASgLMhAuY29tbW9uLk1ldGFkYXRhIoYBChdSZWdpc3RlcmVkUmVzb3VyY2VWYWx1ZRIKCgJpZBgBIAEoCRINCgV2YWx1ZRgCIAEoCRIsCghyZXNvdXJjZRgDIAEoCzIaLnBvbGljeS5SZWdpc3RlcmVkUmVzb3VyY2USIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEiPAoGS2FzS2V5Eg4KBmthc19pZBgBIAEoCRIiCgNrZXkYAiABKAsyFS5wb2xpY3kuQXN5bW1ldHJpY0tleSKoAgoNQXN5bW1ldHJpY0tleRIKCgJpZBgBIAEoCRIOCgZrZXlfaWQYAiABKAkSKAoNa2V5X2FsZ29yaXRobRgDIAEoDjIRLnBvbGljeS5BbGdvcml0aG0SJQoKa2V5X3N0YXR1cxgEIAEoDjIRLnBvbGljeS5LZXlTdGF0dXMSIQoIa2V5X21vZGUYBSABKA4yDy5wb2xpY3kuS2V5TW9kZRIWCg5wdWJsaWNfa2V5X2N0eBgGIAEoDBIXCg9wcml2YXRlX2tleV9jdHgYByABKAwSMgoPcHJvdmlkZXJfY29uZmlnGAggASgLMhkucG9saWN5LktleVByb3ZpZGVyQ29uZmlnEiIKCG1ldGFkYXRhGGQgASgLMhAuY29tbW9uLk1ldGFkYXRhIt0BCgxTeW1tZXRyaWNLZXkSCgoCaWQYASABKAkSDgoGa2V5X2lkGAIgASgJEiUKCmtleV9zdGF0dXMYAyABKA4yES5wb2xpY3kuS2V5U3RhdHVzEiEKCGtleV9tb2RlGAQgASgOMg8ucG9saWN5LktleU1vZGUSDwoHa2V5X2N0eBgFIAEoDBIyCg9wcm92aWRlcl9jb25maWcYBiABKAsyGS5wb2xpY3kuS2V5UHJvdmlkZXJDb25maWcSIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEqswEKFUF0dHJpYnV0ZVJ1bGVUeXBlRW51bRIoCiRBVFRSSUJVVEVfUlVMRV9UWVBFX0VOVU1fVU5TUEVDSUZJRUQQABIjCh9BVFRSSUJVVEVfUlVMRV9UWVBFX0VOVU1fQUxMX09GEAESIwofQVRUUklCVVRFX1JVTEVfVFlQRV9FTlVNX0FOWV9PRhACEiYKIkFUVFJJQlVURV9SVUxFX1RZUEVfRU5VTV9ISUVSQVJDSFkQAyrKAQoaU3ViamVjdE1hcHBpbmdPcGVyYXRvckVudW0SLQopU1VCSkVDVF9NQVBQSU5HX09QRVJBVE9SX0VOVU1fVU5TUEVDSUZJRUQQABIkCiBTVUJKRUNUX01BUFBJTkdfT1BFUkFUT1JfRU5VTV9JThABEigKJFNVQkpFQ1RfTUFQUElOR19PUEVSQVRPUl9FTlVNX05PVF9JThACEi0KKVNVQkpFQ1RfTUFQUElOR19PUEVSQVRPUl9FTlVNX0lOX0NPTlRBSU5TEAMqkAEKGENvbmRpdGlvbkJvb2xlYW5UeXBlRW51bRIrCidDT05ESVRJT05fQk9PTEVBTl9UWVBFX0VOVU1fVU5TUEVDSUZJRUQQABIjCh9DT05ESVRJT05fQk9PTEVBTl9UWVBFX0VOVU1fQU5EEAESIgoeQ09ORElUSU9OX0JPT0xFQU5fVFlQRV9FTlVNX09SEAIqXQoKU291cmNlVHlwZRIbChdTT1VSQ0VfVFlQRV9VTlNQRUNJRklFRBAAEhgKFFNPVVJDRV9UWVBFX0lOVEVSTkFMEAESGAoUU09VUkNFX1RZUEVfRVhURVJOQUwQAiqIAgoTS2FzUHVibGljS2V5QWxnRW51bRInCiNLQVNfUFVCTElDX0tFWV9BTEdfRU5VTV9VTlNQRUNJRklFRBAAEiQKIEtBU19QVUJMSUNfS0VZX0FMR19FTlVNX1JTQV8yMDQ4EAESJAogS0FTX1BVQkxJQ19LRVlfQUxHX0VOVU1fUlNBXzQwOTYQAhIoCiRLQVNfUFVCTElDX0tFWV9BTEdfRU5VTV9FQ19TRUNQMjU2UjEQBRIoCiRLQVNfUFVCTElDX0tFWV9BTEdfRU5VTV9FQ19TRUNQMzg0UjEQBhIoCiRLQVNfUFVCTElDX0tFWV9BTEdfRU5VTV9FQ19TRUNQNTIxUjEQByqbAQoJQWxnb3JpdGhtEhkKFUFMR09SSVRITV9VTlNQRUNJRklFRBAAEhYKEkFMR09SSVRITV9SU0FfMjA0OBABEhYKEkFMR09SSVRITV9SU0FfNDA5NhACEhUKEUFMR09SSVRITV9FQ19QMjU2EAMSFQoRQUxHT1JJVEhNX0VDX1AzODQQBBIVChFBTEdPUklUSE1fRUNfUDUyMRAFKnMKCUtleVN0YXR1cxIaChZLRVlfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFQoRS0VZX1NUQVRVU19BQ1RJVkUQARIXChNLRVlfU1RBVFVTX0lOQUNUSVZFEAISGgoWS0VZX1NUQVRVU19DT01QUk9NSVNFRBADKkwKB0tleU1vZGUSGAoUS0VZX01PREVfVU5TUEVDSUZJRUQQABISCg5LRVlfTU9ERV9MT0NBTBABEhMKD0tFWV9NT0RFX1JFTU9URRACYgZwcm90bzM", [file_buf_validate_validate, file_common_common, file_google_protobuf_wrappers]);
17
+ fileDesc("ChRwb2xpY3kvb2JqZWN0cy5wcm90bxIGcG9saWN5IlQKElNpbXBsZUthc1B1YmxpY0tleRIkCglhbGdvcml0aG0YASABKA4yES5wb2xpY3kuQWxnb3JpdGhtEgsKA2tpZBgCIAEoCRILCgNwZW0YAyABKAkiXwoMU2ltcGxlS2FzS2V5Eg8KB2thc191cmkYASABKAkSLgoKcHVibGljX2tleRgCIAEoCzIaLnBvbGljeS5TaW1wbGVLYXNQdWJsaWNLZXkSDgoGa2FzX2lkGAMgASgJIncKEUtleVByb3ZpZGVyQ29uZmlnEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLY29uZmlnX2pzb24YAyABKAwSDwoHbWFuYWdlchgEIAEoCRIiCghtZXRhZGF0YRhkIAEoCzIQLmNvbW1vbi5NZXRhZGF0YSL8AQoJTmFtZXNwYWNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSCwoDZnFuGAMgASgJEioKBmFjdGl2ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSIgoIbWV0YWRhdGEYBSABKAsyEC5jb21tb24uTWV0YWRhdGESJwoGZ3JhbnRzGAYgAygLMhcucG9saWN5LktleUFjY2Vzc1NlcnZlchImCghrYXNfa2V5cxgHIAMoCzIULnBvbGljeS5TaW1wbGVLYXNLZXkSJwoKcm9vdF9jZXJ0cxgIIAMoCzITLnBvbGljeS5DZXJ0aWZpY2F0ZSJKCgtDZXJ0aWZpY2F0ZRIKCgJpZBgBIAEoCRILCgNwZW0YAiABKAkSIgoIbWV0YWRhdGEYAyABKAsyEC5jb21tb24uTWV0YWRhdGEi0gIKCUF0dHJpYnV0ZRIKCgJpZBgBIAEoCRIkCgluYW1lc3BhY2UYAiABKAsyES5wb2xpY3kuTmFtZXNwYWNlEgwKBG5hbWUYAyABKAkSOAoEcnVsZRgEIAEoDjIdLnBvbGljeS5BdHRyaWJ1dGVSdWxlVHlwZUVudW1CC7pICMgBAYIBAhABEh0KBnZhbHVlcxgFIAMoCzINLnBvbGljeS5WYWx1ZRInCgZncmFudHMYBiADKAsyFy5wb2xpY3kuS2V5QWNjZXNzU2VydmVyEgsKA2ZxbhgHIAEoCRIqCgZhY3RpdmUYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlEiYKCGthc19rZXlzGAkgAygLMhQucG9saWN5LlNpbXBsZUthc0tleRIiCghtZXRhZGF0YRhkIAEoCzIQLmNvbW1vbi5NZXRhZGF0YSKUAwoFVmFsdWUSCgoCaWQYASABKAkSJAoJYXR0cmlidXRlGAIgASgLMhEucG9saWN5LkF0dHJpYnV0ZRINCgV2YWx1ZRgDIAEoCRInCgZncmFudHMYBSADKAsyFy5wb2xpY3kuS2V5QWNjZXNzU2VydmVyEgsKA2ZxbhgGIAEoCRIqCgZhY3RpdmUYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlEjAKEHN1YmplY3RfbWFwcGluZ3MYCCADKAsyFi5wb2xpY3kuU3ViamVjdE1hcHBpbmcSJgoIa2FzX2tleXMYCSADKAsyFC5wb2xpY3kuU2ltcGxlS2FzS2V5EjIKEXJlc291cmNlX21hcHBpbmdzGAogAygLMhcucG9saWN5LlJlc291cmNlTWFwcGluZxInCgtvYmxpZ2F0aW9ucxgLIAMoCzISLnBvbGljeS5PYmxpZ2F0aW9uEiIKCG1ldGFkYXRhGGQgASgLMhAuY29tbW9uLk1ldGFkYXRhSgQIBBAFUgdtZW1iZXJzIoICCgZBY3Rpb24SCgoCaWQYAyABKAkSMQoIc3RhbmRhcmQYASABKA4yHS5wb2xpY3kuQWN0aW9uLlN0YW5kYXJkQWN0aW9uSAASEAoGY3VzdG9tGAIgASgJSAASDAoEbmFtZRgEIAEoCRIiCghtZXRhZGF0YRhkIAEoCzIQLmNvbW1vbi5NZXRhZGF0YSJsCg5TdGFuZGFyZEFjdGlvbhIfChtTVEFOREFSRF9BQ1RJT05fVU5TUEVDSUZJRUQQABIbChdTVEFOREFSRF9BQ1RJT05fREVDUllQVBABEhwKGFNUQU5EQVJEX0FDVElPTl9UUkFOU01JVBACQgcKBXZhbHVlIsUBCg5TdWJqZWN0TWFwcGluZxIKCgJpZBgBIAEoCRImCg9hdHRyaWJ1dGVfdmFsdWUYAiABKAsyDS5wb2xpY3kuVmFsdWUSOgoVc3ViamVjdF9jb25kaXRpb25fc2V0GAMgASgLMhsucG9saWN5LlN1YmplY3RDb25kaXRpb25TZXQSHwoHYWN0aW9ucxgEIAMoCzIOLnBvbGljeS5BY3Rpb24SIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEiqgEKCUNvbmRpdGlvbhIvCh9zdWJqZWN0X2V4dGVybmFsX3NlbGVjdG9yX3ZhbHVlGAEgASgJQga6SAPIAQESQQoIb3BlcmF0b3IYAiABKA4yIi5wb2xpY3kuU3ViamVjdE1hcHBpbmdPcGVyYXRvckVudW1CC7pICMgBAYIBAhABEikKF3N1YmplY3RfZXh0ZXJuYWxfdmFsdWVzGAMgAygJQgi6SAWSAQIIASKKAQoOQ29uZGl0aW9uR3JvdXASLwoKY29uZGl0aW9ucxgBIAMoCzIRLnBvbGljeS5Db25kaXRpb25CCLpIBZIBAggBEkcKEGJvb2xlYW5fb3BlcmF0b3IYAiABKA4yIC5wb2xpY3kuQ29uZGl0aW9uQm9vbGVhblR5cGVFbnVtQgu6SAjIAQGCAQIQASJICgpTdWJqZWN0U2V0EjoKEGNvbmRpdGlvbl9ncm91cHMYASADKAsyFi5wb2xpY3kuQ29uZGl0aW9uR3JvdXBCCLpIBZIBAggBInkKE1N1YmplY3RDb25kaXRpb25TZXQSCgoCaWQYASABKAkSMgoMc3ViamVjdF9zZXRzGAMgAygLMhIucG9saWN5LlN1YmplY3RTZXRCCLpIBZIBAggBEiIKCG1ldGFkYXRhGGQgASgLMhAuY29tbW9uLk1ldGFkYXRhIlYKD1N1YmplY3RQcm9wZXJ0eRIrChdleHRlcm5hbF9zZWxlY3Rvcl92YWx1ZRgBIAEoCUIKukgHyAEBcgIQARIWCg5leHRlcm5hbF92YWx1ZRgCIAEoCSJ6ChRSZXNvdXJjZU1hcHBpbmdHcm91cBIKCgJpZBgBIAEoCRIcCgxuYW1lc3BhY2VfaWQYAiABKAlCBrpIA8gBARIUCgRuYW1lGAMgASgJQga6SAPIAQESIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEirQEKD1Jlc291cmNlTWFwcGluZxIKCgJpZBgBIAEoCRIiCghtZXRhZGF0YRgCIAEoCzIQLmNvbW1vbi5NZXRhZGF0YRIuCg9hdHRyaWJ1dGVfdmFsdWUYAyABKAsyDS5wb2xpY3kuVmFsdWVCBrpIA8gBARINCgV0ZXJtcxgEIAMoCRIrCgVncm91cBgFIAEoCzIcLnBvbGljeS5SZXNvdXJjZU1hcHBpbmdHcm91cCLMBAoPS2V5QWNjZXNzU2VydmVyEgoKAmlkGAEgASgJEoIDCgN1cmkYAiABKAlC9AK6SPACugHsAgoKdXJpX2Zvcm1hdBLPAVVSSSBtdXN0IGJlIGEgdmFsaWQgVVJMIChlLmcuLCAnaHR0cHM6Ly9kZW1vLmNvbS8nKSBmb2xsb3dlZCBieSBhZGRpdGlvbmFsIHNlZ21lbnRzLiBFYWNoIHNlZ21lbnQgbXVzdCBzdGFydCBhbmQgZW5kIHdpdGggYW4gYWxwaGFudW1lcmljIGNoYXJhY3RlciwgY2FuIGNvbnRhaW4gaHlwaGVucywgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGFuZCBzbGFzaGVzLhqLAXRoaXMubWF0Y2hlcygnXmh0dHBzPzovL1thLXpBLVowLTldKFthLXpBLVowLTlcXC1dezAsNjF9W2EtekEtWjAtOV0pPyhcXC5bYS16QS1aMC05XShbYS16QS1aMC05XFwtXXswLDYxfVthLXpBLVowLTldKT8pKig6WzAtOV0rKT8oLy4qKT8kJykSJQoKcHVibGljX2tleRgDIAEoCzIRLnBvbGljeS5QdWJsaWNLZXkSJwoLc291cmNlX3R5cGUYBCABKA4yEi5wb2xpY3kuU291cmNlVHlwZRImCghrYXNfa2V5cxgFIAMoCzIULnBvbGljeS5TaW1wbGVLYXNLZXkSDAoEbmFtZRgUIAEoCRIiCghtZXRhZGF0YRhkIAEoCzIQLmNvbW1vbi5NZXRhZGF0YSLkAQoDS2V5EgoKAmlkGAEgASgJEi0KCWlzX2FjdGl2ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSLgoKd2FzX21hcHBlZBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSKAoKcHVibGljX2tleRgEIAEoCzIULnBvbGljeS5LYXNQdWJsaWNLZXkSJAoDa2FzGAUgASgLMhcucG9saWN5LktleUFjY2Vzc1NlcnZlchIiCghtZXRhZGF0YRhkIAEoCzIQLmNvbW1vbi5NZXRhZGF0YSJ1CgxLYXNQdWJsaWNLZXkSFwoDcGVtGAEgASgJQgq6SAdyBRABGIBAEhYKA2tpZBgCIAEoCUIJukgGcgQQARggEjQKA2FsZxgDIAEoDjIbLnBvbGljeS5LYXNQdWJsaWNLZXlBbGdFbnVtQgq6SAeCAQQQASAAIjUKD0thc1B1YmxpY0tleVNldBIiCgRrZXlzGAEgAygLMhQucG9saWN5Lkthc1B1YmxpY0tleSLQAwoJUHVibGljS2V5EvwCCgZyZW1vdGUYASABKAlC6QK6SOUCugHhAgoKdXJpX2Zvcm1hdBLPAVVSSSBtdXN0IGJlIGEgdmFsaWQgVVJMIChlLmcuLCAnaHR0cHM6Ly9kZW1vLmNvbS8nKSBmb2xsb3dlZCBieSBhZGRpdGlvbmFsIHNlZ21lbnRzLiBFYWNoIHNlZ21lbnQgbXVzdCBzdGFydCBhbmQgZW5kIHdpdGggYW4gYWxwaGFudW1lcmljIGNoYXJhY3RlciwgY2FuIGNvbnRhaW4gaHlwaGVucywgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGFuZCBzbGFzaGVzLhqAAXRoaXMubWF0Y2hlcygnXmh0dHBzOi8vW2EtekEtWjAtOV0oW2EtekEtWjAtOVxcLV17MCw2MX1bYS16QS1aMC05XSk/KFxcLlthLXpBLVowLTldKFthLXpBLVowLTlcXC1dezAsNjF9W2EtekEtWjAtOV0pPykqKC8uKik/JCcpSAASKQoGY2FjaGVkGAMgASgLMhcucG9saWN5Lkthc1B1YmxpY0tleVNldEgAQgwKCnB1YmxpY19rZXlKBAgCEANSBWxvY2FsIoMBChJSZWdpc3RlcmVkUmVzb3VyY2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIvCgZ2YWx1ZXMYAyADKAsyHy5wb2xpY3kuUmVnaXN0ZXJlZFJlc291cmNlVmFsdWUSIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEi7gIKF1JlZ2lzdGVyZWRSZXNvdXJjZVZhbHVlEgoKAmlkGAEgASgJEg0KBXZhbHVlGAIgASgJEiwKCHJlc291cmNlGAMgASgLMhoucG9saWN5LlJlZ2lzdGVyZWRSZXNvdXJjZRJVChdhY3Rpb25fYXR0cmlidXRlX3ZhbHVlcxgEIAMoCzI0LnBvbGljeS5SZWdpc3RlcmVkUmVzb3VyY2VWYWx1ZS5BY3Rpb25BdHRyaWJ1dGVWYWx1ZRIiCghtZXRhZGF0YRhkIAEoCzIQLmNvbW1vbi5NZXRhZGF0YRqOAQoUQWN0aW9uQXR0cmlidXRlVmFsdWUSCgoCaWQYASABKAkSHgoGYWN0aW9uGAIgASgLMg4ucG9saWN5LkFjdGlvbhImCg9hdHRyaWJ1dGVfdmFsdWUYAyABKAsyDS5wb2xpY3kuVmFsdWUSIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEiNAoWUG9saWN5RW5mb3JjZW1lbnRQb2ludBIaCgljbGllbnRfaWQYASABKAlCB7pIBHICEAEiRQoOUmVxdWVzdENvbnRleHQSMwoDcGVwGAEgASgLMh4ucG9saWN5LlBvbGljeUVuZm9yY2VtZW50UG9pbnRCBrpIA8gBASKmAQoKT2JsaWdhdGlvbhIKCgJpZBgBIAEoCRIkCgluYW1lc3BhY2UYAiABKAsyES5wb2xpY3kuTmFtZXNwYWNlEgwKBG5hbWUYAyABKAkSJwoGdmFsdWVzGAQgAygLMhcucG9saWN5Lk9ibGlnYXRpb25WYWx1ZRILCgNmcW4YBSABKAkSIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEisgEKD09ibGlnYXRpb25WYWx1ZRIKCgJpZBgBIAEoCRImCgpvYmxpZ2F0aW9uGAIgASgLMhIucG9saWN5Lk9ibGlnYXRpb24SDQoFdmFsdWUYAyABKAkSKwoIdHJpZ2dlcnMYBCADKAsyGS5wb2xpY3kuT2JsaWdhdGlvblRyaWdnZXISCwoDZnFuGAUgASgJEiIKCG1ldGFkYXRhGGQgASgLMhAuY29tbW9uLk1ldGFkYXRhIucBChFPYmxpZ2F0aW9uVHJpZ2dlchIKCgJpZBgBIAEoCRIxChBvYmxpZ2F0aW9uX3ZhbHVlGAIgASgLMhcucG9saWN5Lk9ibGlnYXRpb25WYWx1ZRIeCgZhY3Rpb24YAyABKAsyDi5wb2xpY3kuQWN0aW9uEiYKD2F0dHJpYnV0ZV92YWx1ZRgEIAEoCzINLnBvbGljeS5WYWx1ZRInCgdjb250ZXh0GAUgAygLMhYucG9saWN5LlJlcXVlc3RDb250ZXh0EiIKCG1ldGFkYXRhGGQgASgLMhAuY29tbW9uLk1ldGFkYXRhIk0KBkthc0tleRIOCgZrYXNfaWQYASABKAkSIgoDa2V5GAIgASgLMhUucG9saWN5LkFzeW1tZXRyaWNLZXkSDwoHa2FzX3VyaRgDIAEoCSIkCgxQdWJsaWNLZXlDdHgSFAoDcGVtGAEgASgJQge6SARyAhABIj0KDVByaXZhdGVLZXlDdHgSFwoGa2V5X2lkGAEgASgJQge6SARyAhABEhMKC3dyYXBwZWRfa2V5GAIgASgJIuUCCg1Bc3ltbWV0cmljS2V5EgoKAmlkGAEgASgJEg4KBmtleV9pZBgCIAEoCRIoCg1rZXlfYWxnb3JpdGhtGAMgASgOMhEucG9saWN5LkFsZ29yaXRobRIlCgprZXlfc3RhdHVzGAQgASgOMhEucG9saWN5LktleVN0YXR1cxIhCghrZXlfbW9kZRgFIAEoDjIPLnBvbGljeS5LZXlNb2RlEiwKDnB1YmxpY19rZXlfY3R4GAYgASgLMhQucG9saWN5LlB1YmxpY0tleUN0eBIuCg9wcml2YXRlX2tleV9jdHgYByABKAsyFS5wb2xpY3kuUHJpdmF0ZUtleUN0eBIyCg9wcm92aWRlcl9jb25maWcYCCABKAsyGS5wb2xpY3kuS2V5UHJvdmlkZXJDb25maWcSDgoGbGVnYWN5GAkgASgIEiIKCG1ldGFkYXRhGGQgASgLMhAuY29tbW9uLk1ldGFkYXRhIt0BCgxTeW1tZXRyaWNLZXkSCgoCaWQYASABKAkSDgoGa2V5X2lkGAIgASgJEiUKCmtleV9zdGF0dXMYAyABKA4yES5wb2xpY3kuS2V5U3RhdHVzEiEKCGtleV9tb2RlGAQgASgOMg8ucG9saWN5LktleU1vZGUSDwoHa2V5X2N0eBgFIAEoDBIyCg9wcm92aWRlcl9jb25maWcYBiABKAsyGS5wb2xpY3kuS2V5UHJvdmlkZXJDb25maWcSIgoIbWV0YWRhdGEYZCABKAsyEC5jb21tb24uTWV0YWRhdGEqswEKFUF0dHJpYnV0ZVJ1bGVUeXBlRW51bRIoCiRBVFRSSUJVVEVfUlVMRV9UWVBFX0VOVU1fVU5TUEVDSUZJRUQQABIjCh9BVFRSSUJVVEVfUlVMRV9UWVBFX0VOVU1fQUxMX09GEAESIwofQVRUUklCVVRFX1JVTEVfVFlQRV9FTlVNX0FOWV9PRhACEiYKIkFUVFJJQlVURV9SVUxFX1RZUEVfRU5VTV9ISUVSQVJDSFkQAyrKAQoaU3ViamVjdE1hcHBpbmdPcGVyYXRvckVudW0SLQopU1VCSkVDVF9NQVBQSU5HX09QRVJBVE9SX0VOVU1fVU5TUEVDSUZJRUQQABIkCiBTVUJKRUNUX01BUFBJTkdfT1BFUkFUT1JfRU5VTV9JThABEigKJFNVQkpFQ1RfTUFQUElOR19PUEVSQVRPUl9FTlVNX05PVF9JThACEi0KKVNVQkpFQ1RfTUFQUElOR19PUEVSQVRPUl9FTlVNX0lOX0NPTlRBSU5TEAMqkAEKGENvbmRpdGlvbkJvb2xlYW5UeXBlRW51bRIrCidDT05ESVRJT05fQk9PTEVBTl9UWVBFX0VOVU1fVU5TUEVDSUZJRUQQABIjCh9DT05ESVRJT05fQk9PTEVBTl9UWVBFX0VOVU1fQU5EEAESIgoeQ09ORElUSU9OX0JPT0xFQU5fVFlQRV9FTlVNX09SEAIqXQoKU291cmNlVHlwZRIbChdTT1VSQ0VfVFlQRV9VTlNQRUNJRklFRBAAEhgKFFNPVVJDRV9UWVBFX0lOVEVSTkFMEAESGAoUU09VUkNFX1RZUEVfRVhURVJOQUwQAiqIAgoTS2FzUHVibGljS2V5QWxnRW51bRInCiNLQVNfUFVCTElDX0tFWV9BTEdfRU5VTV9VTlNQRUNJRklFRBAAEiQKIEtBU19QVUJMSUNfS0VZX0FMR19FTlVNX1JTQV8yMDQ4EAESJAogS0FTX1BVQkxJQ19LRVlfQUxHX0VOVU1fUlNBXzQwOTYQAhIoCiRLQVNfUFVCTElDX0tFWV9BTEdfRU5VTV9FQ19TRUNQMjU2UjEQBRIoCiRLQVNfUFVCTElDX0tFWV9BTEdfRU5VTV9FQ19TRUNQMzg0UjEQBhIoCiRLQVNfUFVCTElDX0tFWV9BTEdfRU5VTV9FQ19TRUNQNTIxUjEQByqbAQoJQWxnb3JpdGhtEhkKFUFMR09SSVRITV9VTlNQRUNJRklFRBAAEhYKEkFMR09SSVRITV9SU0FfMjA0OBABEhYKEkFMR09SSVRITV9SU0FfNDA5NhACEhUKEUFMR09SSVRITV9FQ19QMjU2EAMSFQoRQUxHT1JJVEhNX0VDX1AzODQQBBIVChFBTEdPUklUSE1fRUNfUDUyMRAFKlYKCUtleVN0YXR1cxIaChZLRVlfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFQoRS0VZX1NUQVRVU19BQ1RJVkUQARIWChJLRVlfU1RBVFVTX1JPVEFURUQQAiqUAQoHS2V5TW9kZRIYChRLRVlfTU9ERV9VTlNQRUNJRklFRBAAEhwKGEtFWV9NT0RFX0NPTkZJR19ST09UX0tFWRABEh4KGktFWV9NT0RFX1BST1ZJREVSX1JPT1RfS0VZEAISEwoPS0VZX01PREVfUkVNT1RFEAMSHAoYS0VZX01PREVfUFVCTElDX0tFWV9PTkxZEARiBnByb3RvMw", [file_buf_validate_validate, file_common_common, file_google_protobuf_wrappers]);
18
+
19
+ /**
20
+ * @generated from message policy.SimpleKasPublicKey
21
+ */
22
+ export type SimpleKasPublicKey = Message<"policy.SimpleKasPublicKey"> & {
23
+ /**
24
+ * @generated from field: policy.Algorithm algorithm = 1;
25
+ */
26
+ algorithm: Algorithm;
27
+
28
+ /**
29
+ * @generated from field: string kid = 2;
30
+ */
31
+ kid: string;
32
+
33
+ /**
34
+ * @generated from field: string pem = 3;
35
+ */
36
+ pem: string;
37
+ };
38
+
39
+ /**
40
+ * Describes the message policy.SimpleKasPublicKey.
41
+ * Use `create(SimpleKasPublicKeySchema)` to create a new message.
42
+ */
43
+ export const SimpleKasPublicKeySchema: GenMessage<SimpleKasPublicKey> = /*@__PURE__*/
44
+ messageDesc(file_policy_objects, 0);
45
+
46
+ /**
47
+ * @generated from message policy.SimpleKasKey
48
+ */
49
+ export type SimpleKasKey = Message<"policy.SimpleKasKey"> & {
50
+ /**
51
+ * The URL of the Key Access Server
52
+ *
53
+ * @generated from field: string kas_uri = 1;
54
+ */
55
+ kasUri: string;
56
+
57
+ /**
58
+ * The public key of the Key that belongs to the KAS
59
+ *
60
+ * @generated from field: policy.SimpleKasPublicKey public_key = 2;
61
+ */
62
+ publicKey?: SimpleKasPublicKey;
63
+
64
+ /**
65
+ * The ID of the Key Access Server
66
+ *
67
+ * @generated from field: string kas_id = 3;
68
+ */
69
+ kasId: string;
70
+ };
71
+
72
+ /**
73
+ * Describes the message policy.SimpleKasKey.
74
+ * Use `create(SimpleKasKeySchema)` to create a new message.
75
+ */
76
+ export const SimpleKasKeySchema: GenMessage<SimpleKasKey> = /*@__PURE__*/
77
+ messageDesc(file_policy_objects, 1);
18
78
 
19
79
  /**
20
80
  * @generated from message policy.KeyProviderConfig
@@ -35,6 +95,11 @@ export type KeyProviderConfig = Message<"policy.KeyProviderConfig"> & {
35
95
  */
36
96
  configJson: Uint8Array;
37
97
 
98
+ /**
99
+ * @generated from field: string manager = 4;
100
+ */
101
+ manager: string;
102
+
38
103
  /**
39
104
  * Common metadata
40
105
  *
@@ -48,7 +113,7 @@ export type KeyProviderConfig = Message<"policy.KeyProviderConfig"> & {
48
113
  * Use `create(KeyProviderConfigSchema)` to create a new message.
49
114
  */
50
115
  export const KeyProviderConfigSchema: GenMessage<KeyProviderConfig> = /*@__PURE__*/
51
- messageDesc(file_policy_objects, 0);
116
+ messageDesc(file_policy_objects, 2);
52
117
 
53
118
  /**
54
119
  * @generated from message policy.Namespace
@@ -87,7 +152,7 @@ export type Namespace = Message<"policy.Namespace"> & {
87
152
  metadata?: Metadata;
88
153
 
89
154
  /**
90
- * KAS grants for the namespace
155
+ * Deprecated KAS grants for the namespace. Use kas_keys instead.
91
156
  *
92
157
  * @generated from field: repeated policy.KeyAccessServer grants = 6;
93
158
  */
@@ -96,9 +161,16 @@ export type Namespace = Message<"policy.Namespace"> & {
96
161
  /**
97
162
  * Keys for the namespace
98
163
  *
99
- * @generated from field: repeated policy.KasKey kas_keys = 7;
164
+ * @generated from field: repeated policy.SimpleKasKey kas_keys = 7;
100
165
  */
101
- kasKeys: KasKey[];
166
+ kasKeys: SimpleKasKey[];
167
+
168
+ /**
169
+ * Root certificates for chain of trust
170
+ *
171
+ * @generated from field: repeated policy.Certificate root_certs = 8;
172
+ */
173
+ rootCerts: Certificate[];
102
174
  };
103
175
 
104
176
  /**
@@ -106,7 +178,40 @@ export type Namespace = Message<"policy.Namespace"> & {
106
178
  * Use `create(NamespaceSchema)` to create a new message.
107
179
  */
108
180
  export const NamespaceSchema: GenMessage<Namespace> = /*@__PURE__*/
109
- messageDesc(file_policy_objects, 1);
181
+ messageDesc(file_policy_objects, 3);
182
+
183
+ /**
184
+ * @generated from message policy.Certificate
185
+ */
186
+ export type Certificate = Message<"policy.Certificate"> & {
187
+ /**
188
+ * generated uuid in database
189
+ *
190
+ * @generated from field: string id = 1;
191
+ */
192
+ id: string;
193
+
194
+ /**
195
+ * PEM format certificate
196
+ *
197
+ * @generated from field: string pem = 2;
198
+ */
199
+ pem: string;
200
+
201
+ /**
202
+ * Optional metadata.
203
+ *
204
+ * @generated from field: common.Metadata metadata = 3;
205
+ */
206
+ metadata?: Metadata;
207
+ };
208
+
209
+ /**
210
+ * Describes the message policy.Certificate.
211
+ * Use `create(CertificateSchema)` to create a new message.
212
+ */
213
+ export const CertificateSchema: GenMessage<Certificate> = /*@__PURE__*/
214
+ messageDesc(file_policy_objects, 4);
110
215
 
111
216
  /**
112
217
  * @generated from message policy.Attribute
@@ -144,7 +249,7 @@ export type Attribute = Message<"policy.Attribute"> & {
144
249
  values: Value[];
145
250
 
146
251
  /**
147
- * Deprecated
252
+ * Deprecated KAS grants for the attribute. Use kas_keys instead.
148
253
  *
149
254
  * @generated from field: repeated policy.KeyAccessServer grants = 6;
150
255
  */
@@ -165,9 +270,9 @@ export type Attribute = Message<"policy.Attribute"> & {
165
270
  /**
166
271
  * Keys associated with the attribute
167
272
  *
168
- * @generated from field: repeated policy.KasKey kas_keys = 9;
273
+ * @generated from field: repeated policy.SimpleKasKey kas_keys = 9;
169
274
  */
170
- kasKeys: KasKey[];
275
+ kasKeys: SimpleKasKey[];
171
276
 
172
277
  /**
173
278
  * Common metadata
@@ -182,7 +287,7 @@ export type Attribute = Message<"policy.Attribute"> & {
182
287
  * Use `create(AttributeSchema)` to create a new message.
183
288
  */
184
289
  export const AttributeSchema: GenMessage<Attribute> = /*@__PURE__*/
185
- messageDesc(file_policy_objects, 2);
290
+ messageDesc(file_policy_objects, 5);
186
291
 
187
292
  /**
188
293
  * @generated from message policy.Value
@@ -206,8 +311,7 @@ export type Value = Message<"policy.Value"> & {
206
311
  value: string;
207
312
 
208
313
  /**
209
- * Deprecated
210
- * list of key access servers
314
+ * Deprecated KAS grants for the value. Use kas_keys instead.
211
315
  *
212
316
  * @generated from field: repeated policy.KeyAccessServer grants = 5;
213
317
  */
@@ -233,9 +337,19 @@ export type Value = Message<"policy.Value"> & {
233
337
  subjectMappings: SubjectMapping[];
234
338
 
235
339
  /**
236
- * @generated from field: repeated policy.KasKey kas_keys = 9;
340
+ * @generated from field: repeated policy.SimpleKasKey kas_keys = 9;
341
+ */
342
+ kasKeys: SimpleKasKey[];
343
+
344
+ /**
345
+ * @generated from field: repeated policy.ResourceMapping resource_mappings = 10;
346
+ */
347
+ resourceMappings: ResourceMapping[];
348
+
349
+ /**
350
+ * @generated from field: repeated policy.Obligation obligations = 11;
237
351
  */
238
- kasKeys: KasKey[];
352
+ obligations: Obligation[];
239
353
 
240
354
  /**
241
355
  * Common metadata
@@ -250,7 +364,7 @@ export type Value = Message<"policy.Value"> & {
250
364
  * Use `create(ValueSchema)` to create a new message.
251
365
  */
252
366
  export const ValueSchema: GenMessage<Value> = /*@__PURE__*/
253
- messageDesc(file_policy_objects, 3);
367
+ messageDesc(file_policy_objects, 6);
254
368
 
255
369
  /**
256
370
  * An action an entity can take
@@ -266,7 +380,7 @@ export type Action = Message<"policy.Action"> & {
266
380
  id: string;
267
381
 
268
382
  /**
269
- * Deprecated
383
+ * Deprecated: use 'name' instead
270
384
  *
271
385
  * @generated from oneof policy.Action.value
272
386
  */
@@ -304,7 +418,7 @@ export type Action = Message<"policy.Action"> & {
304
418
  * Use `create(ActionSchema)` to create a new message.
305
419
  */
306
420
  export const ActionSchema: GenMessage<Action> = /*@__PURE__*/
307
- messageDesc(file_policy_objects, 4);
421
+ messageDesc(file_policy_objects, 7);
308
422
 
309
423
  /**
310
424
  * @generated from enum policy.Action.StandardAction
@@ -336,7 +450,7 @@ export enum Action_StandardAction {
336
450
  * Describes the enum policy.Action.StandardAction.
337
451
  */
338
452
  export const Action_StandardActionSchema: GenEnum<Action_StandardAction> = /*@__PURE__*/
339
- enumDesc(file_policy_objects, 4, 0);
453
+ enumDesc(file_policy_objects, 7, 0);
340
454
 
341
455
  /**
342
456
  *
@@ -383,7 +497,7 @@ export type SubjectMapping = Message<"policy.SubjectMapping"> & {
383
497
  * Use `create(SubjectMappingSchema)` to create a new message.
384
498
  */
385
499
  export const SubjectMappingSchema: GenMessage<SubjectMapping> = /*@__PURE__*/
386
- messageDesc(file_policy_objects, 5);
500
+ messageDesc(file_policy_objects, 8);
387
501
 
388
502
  /**
389
503
  * *
@@ -423,7 +537,7 @@ export type Condition = Message<"policy.Condition"> & {
423
537
  * Use `create(ConditionSchema)` to create a new message.
424
538
  */
425
539
  export const ConditionSchema: GenMessage<Condition> = /*@__PURE__*/
426
- messageDesc(file_policy_objects, 6);
540
+ messageDesc(file_policy_objects, 9);
427
541
 
428
542
  /**
429
543
  * A collection of Conditions evaluated by the boolean_operator provided
@@ -449,7 +563,7 @@ export type ConditionGroup = Message<"policy.ConditionGroup"> & {
449
563
  * Use `create(ConditionGroupSchema)` to create a new message.
450
564
  */
451
565
  export const ConditionGroupSchema: GenMessage<ConditionGroup> = /*@__PURE__*/
452
- messageDesc(file_policy_objects, 7);
566
+ messageDesc(file_policy_objects, 10);
453
567
 
454
568
  /**
455
569
  * A collection of Condition Groups
@@ -470,7 +584,7 @@ export type SubjectSet = Message<"policy.SubjectSet"> & {
470
584
  * Use `create(SubjectSetSchema)` to create a new message.
471
585
  */
472
586
  export const SubjectSetSchema: GenMessage<SubjectSet> = /*@__PURE__*/
473
- messageDesc(file_policy_objects, 8);
587
+ messageDesc(file_policy_objects, 11);
474
588
 
475
589
  /**
476
590
  *
@@ -504,7 +618,7 @@ export type SubjectConditionSet = Message<"policy.SubjectConditionSet"> & {
504
618
  * Use `create(SubjectConditionSetSchema)` to create a new message.
505
619
  */
506
620
  export const SubjectConditionSetSchema: GenMessage<SubjectConditionSet> = /*@__PURE__*/
507
- messageDesc(file_policy_objects, 9);
621
+ messageDesc(file_policy_objects, 12);
508
622
 
509
623
  /**
510
624
  *
@@ -539,7 +653,7 @@ export type SubjectProperty = Message<"policy.SubjectProperty"> & {
539
653
  * Use `create(SubjectPropertySchema)` to create a new message.
540
654
  */
541
655
  export const SubjectPropertySchema: GenMessage<SubjectProperty> = /*@__PURE__*/
542
- messageDesc(file_policy_objects, 10);
656
+ messageDesc(file_policy_objects, 13);
543
657
 
544
658
  /**
545
659
  *
@@ -582,7 +696,7 @@ export type ResourceMappingGroup = Message<"policy.ResourceMappingGroup"> & {
582
696
  * Use `create(ResourceMappingGroupSchema)` to create a new message.
583
697
  */
584
698
  export const ResourceMappingGroupSchema: GenMessage<ResourceMappingGroup> = /*@__PURE__*/
585
- messageDesc(file_policy_objects, 11);
699
+ messageDesc(file_policy_objects, 14);
586
700
 
587
701
  /**
588
702
  *
@@ -623,7 +737,7 @@ export type ResourceMapping = Message<"policy.ResourceMapping"> & {
623
737
  * Use `create(ResourceMappingSchema)` to create a new message.
624
738
  */
625
739
  export const ResourceMappingSchema: GenMessage<ResourceMapping> = /*@__PURE__*/
626
- messageDesc(file_policy_objects, 12);
740
+ messageDesc(file_policy_objects, 15);
627
741
 
628
742
  /**
629
743
  *
@@ -645,7 +759,7 @@ export type KeyAccessServer = Message<"policy.KeyAccessServer"> & {
645
759
  uri: string;
646
760
 
647
761
  /**
648
- * Deprecated
762
+ * Deprecated: KAS can have multiple key pairs
649
763
  *
650
764
  * @generated from field: policy.PublicKey public_key = 3;
651
765
  */
@@ -661,9 +775,9 @@ export type KeyAccessServer = Message<"policy.KeyAccessServer"> & {
661
775
  /**
662
776
  * Kas keys associated with this KAS
663
777
  *
664
- * @generated from field: repeated policy.KasKey kas_keys = 5;
778
+ * @generated from field: repeated policy.SimpleKasKey kas_keys = 5;
665
779
  */
666
- kasKeys: KasKey[];
780
+ kasKeys: SimpleKasKey[];
667
781
 
668
782
  /**
669
783
  * Optional
@@ -686,7 +800,7 @@ export type KeyAccessServer = Message<"policy.KeyAccessServer"> & {
686
800
  * Use `create(KeyAccessServerSchema)` to create a new message.
687
801
  */
688
802
  export const KeyAccessServerSchema: GenMessage<KeyAccessServer> = /*@__PURE__*/
689
- messageDesc(file_policy_objects, 13);
803
+ messageDesc(file_policy_objects, 16);
690
804
 
691
805
  /**
692
806
  * @generated from message policy.Key
@@ -732,7 +846,7 @@ export type Key = Message<"policy.Key"> & {
732
846
  * Use `create(KeySchema)` to create a new message.
733
847
  */
734
848
  export const KeySchema: GenMessage<Key> = /*@__PURE__*/
735
- messageDesc(file_policy_objects, 14);
849
+ messageDesc(file_policy_objects, 17);
736
850
 
737
851
  /**
738
852
  * Deprecated
@@ -770,7 +884,7 @@ export type KasPublicKey = Message<"policy.KasPublicKey"> & {
770
884
  * Use `create(KasPublicKeySchema)` to create a new message.
771
885
  */
772
886
  export const KasPublicKeySchema: GenMessage<KasPublicKey> = /*@__PURE__*/
773
- messageDesc(file_policy_objects, 15);
887
+ messageDesc(file_policy_objects, 18);
774
888
 
775
889
  /**
776
890
  * Deprecated
@@ -790,7 +904,7 @@ export type KasPublicKeySet = Message<"policy.KasPublicKeySet"> & {
790
904
  * Use `create(KasPublicKeySetSchema)` to create a new message.
791
905
  */
792
906
  export const KasPublicKeySetSchema: GenMessage<KasPublicKeySet> = /*@__PURE__*/
793
- messageDesc(file_policy_objects, 16);
907
+ messageDesc(file_policy_objects, 19);
794
908
 
795
909
  /**
796
910
  * Deprecated
@@ -825,7 +939,7 @@ export type PublicKey = Message<"policy.PublicKey"> & {
825
939
  * Use `create(PublicKeySchema)` to create a new message.
826
940
  */
827
941
  export const PublicKeySchema: GenMessage<PublicKey> = /*@__PURE__*/
828
- messageDesc(file_policy_objects, 17);
942
+ messageDesc(file_policy_objects, 20);
829
943
 
830
944
  /**
831
945
  * @generated from message policy.RegisteredResource
@@ -859,7 +973,7 @@ export type RegisteredResource = Message<"policy.RegisteredResource"> & {
859
973
  * Use `create(RegisteredResourceSchema)` to create a new message.
860
974
  */
861
975
  export const RegisteredResourceSchema: GenMessage<RegisteredResource> = /*@__PURE__*/
862
- messageDesc(file_policy_objects, 18);
976
+ messageDesc(file_policy_objects, 21);
863
977
 
864
978
  /**
865
979
  * @generated from message policy.RegisteredResourceValue
@@ -880,6 +994,11 @@ export type RegisteredResourceValue = Message<"policy.RegisteredResourceValue">
880
994
  */
881
995
  resource?: RegisteredResource;
882
996
 
997
+ /**
998
+ * @generated from field: repeated policy.RegisteredResourceValue.ActionAttributeValue action_attribute_values = 4;
999
+ */
1000
+ actionAttributeValues: RegisteredResourceValue_ActionAttributeValue[];
1001
+
883
1002
  /**
884
1003
  * Common metadata
885
1004
  *
@@ -893,7 +1012,203 @@ export type RegisteredResourceValue = Message<"policy.RegisteredResourceValue">
893
1012
  * Use `create(RegisteredResourceValueSchema)` to create a new message.
894
1013
  */
895
1014
  export const RegisteredResourceValueSchema: GenMessage<RegisteredResourceValue> = /*@__PURE__*/
896
- messageDesc(file_policy_objects, 19);
1015
+ messageDesc(file_policy_objects, 22);
1016
+
1017
+ /**
1018
+ * @generated from message policy.RegisteredResourceValue.ActionAttributeValue
1019
+ */
1020
+ export type RegisteredResourceValue_ActionAttributeValue = Message<"policy.RegisteredResourceValue.ActionAttributeValue"> & {
1021
+ /**
1022
+ * @generated from field: string id = 1;
1023
+ */
1024
+ id: string;
1025
+
1026
+ /**
1027
+ * @generated from field: policy.Action action = 2;
1028
+ */
1029
+ action?: Action;
1030
+
1031
+ /**
1032
+ * @generated from field: policy.Value attribute_value = 3;
1033
+ */
1034
+ attributeValue?: Value;
1035
+
1036
+ /**
1037
+ * Common metadata
1038
+ *
1039
+ * @generated from field: common.Metadata metadata = 100;
1040
+ */
1041
+ metadata?: Metadata;
1042
+ };
1043
+
1044
+ /**
1045
+ * Describes the message policy.RegisteredResourceValue.ActionAttributeValue.
1046
+ * Use `create(RegisteredResourceValue_ActionAttributeValueSchema)` to create a new message.
1047
+ */
1048
+ export const RegisteredResourceValue_ActionAttributeValueSchema: GenMessage<RegisteredResourceValue_ActionAttributeValue> = /*@__PURE__*/
1049
+ messageDesc(file_policy_objects, 22, 0);
1050
+
1051
+ /**
1052
+ * @generated from message policy.PolicyEnforcementPoint
1053
+ */
1054
+ export type PolicyEnforcementPoint = Message<"policy.PolicyEnforcementPoint"> & {
1055
+ /**
1056
+ * @generated from field: string client_id = 1;
1057
+ */
1058
+ clientId: string;
1059
+ };
1060
+
1061
+ /**
1062
+ * Describes the message policy.PolicyEnforcementPoint.
1063
+ * Use `create(PolicyEnforcementPointSchema)` to create a new message.
1064
+ */
1065
+ export const PolicyEnforcementPointSchema: GenMessage<PolicyEnforcementPoint> = /*@__PURE__*/
1066
+ messageDesc(file_policy_objects, 23);
1067
+
1068
+ /**
1069
+ * Holds the context needed for obligation fulfillment
1070
+ *
1071
+ * @generated from message policy.RequestContext
1072
+ */
1073
+ export type RequestContext = Message<"policy.RequestContext"> & {
1074
+ /**
1075
+ * @generated from field: policy.PolicyEnforcementPoint pep = 1;
1076
+ */
1077
+ pep?: PolicyEnforcementPoint;
1078
+ };
1079
+
1080
+ /**
1081
+ * Describes the message policy.RequestContext.
1082
+ * Use `create(RequestContextSchema)` to create a new message.
1083
+ */
1084
+ export const RequestContextSchema: GenMessage<RequestContext> = /*@__PURE__*/
1085
+ messageDesc(file_policy_objects, 24);
1086
+
1087
+ /**
1088
+ * @generated from message policy.Obligation
1089
+ */
1090
+ export type Obligation = Message<"policy.Obligation"> & {
1091
+ /**
1092
+ * @generated from field: string id = 1;
1093
+ */
1094
+ id: string;
1095
+
1096
+ /**
1097
+ * @generated from field: policy.Namespace namespace = 2;
1098
+ */
1099
+ namespace?: Namespace;
1100
+
1101
+ /**
1102
+ * @generated from field: string name = 3;
1103
+ */
1104
+ name: string;
1105
+
1106
+ /**
1107
+ * @generated from field: repeated policy.ObligationValue values = 4;
1108
+ */
1109
+ values: ObligationValue[];
1110
+
1111
+ /**
1112
+ * @generated from field: string fqn = 5;
1113
+ */
1114
+ fqn: string;
1115
+
1116
+ /**
1117
+ * @generated from field: common.Metadata metadata = 100;
1118
+ */
1119
+ metadata?: Metadata;
1120
+ };
1121
+
1122
+ /**
1123
+ * Describes the message policy.Obligation.
1124
+ * Use `create(ObligationSchema)` to create a new message.
1125
+ */
1126
+ export const ObligationSchema: GenMessage<Obligation> = /*@__PURE__*/
1127
+ messageDesc(file_policy_objects, 25);
1128
+
1129
+ /**
1130
+ * @generated from message policy.ObligationValue
1131
+ */
1132
+ export type ObligationValue = Message<"policy.ObligationValue"> & {
1133
+ /**
1134
+ * @generated from field: string id = 1;
1135
+ */
1136
+ id: string;
1137
+
1138
+ /**
1139
+ * @generated from field: policy.Obligation obligation = 2;
1140
+ */
1141
+ obligation?: Obligation;
1142
+
1143
+ /**
1144
+ * @generated from field: string value = 3;
1145
+ */
1146
+ value: string;
1147
+
1148
+ /**
1149
+ * @generated from field: repeated policy.ObligationTrigger triggers = 4;
1150
+ */
1151
+ triggers: ObligationTrigger[];
1152
+
1153
+ /**
1154
+ * @generated from field: string fqn = 5;
1155
+ */
1156
+ fqn: string;
1157
+
1158
+ /**
1159
+ * @generated from field: common.Metadata metadata = 100;
1160
+ */
1161
+ metadata?: Metadata;
1162
+ };
1163
+
1164
+ /**
1165
+ * Describes the message policy.ObligationValue.
1166
+ * Use `create(ObligationValueSchema)` to create a new message.
1167
+ */
1168
+ export const ObligationValueSchema: GenMessage<ObligationValue> = /*@__PURE__*/
1169
+ messageDesc(file_policy_objects, 26);
1170
+
1171
+ /**
1172
+ * @generated from message policy.ObligationTrigger
1173
+ */
1174
+ export type ObligationTrigger = Message<"policy.ObligationTrigger"> & {
1175
+ /**
1176
+ * @generated from field: string id = 1;
1177
+ */
1178
+ id: string;
1179
+
1180
+ /**
1181
+ * @generated from field: policy.ObligationValue obligation_value = 2;
1182
+ */
1183
+ obligationValue?: ObligationValue;
1184
+
1185
+ /**
1186
+ * @generated from field: policy.Action action = 3;
1187
+ */
1188
+ action?: Action;
1189
+
1190
+ /**
1191
+ * @generated from field: policy.Value attribute_value = 4;
1192
+ */
1193
+ attributeValue?: Value;
1194
+
1195
+ /**
1196
+ * @generated from field: repeated policy.RequestContext context = 5;
1197
+ */
1198
+ context: RequestContext[];
1199
+
1200
+ /**
1201
+ * @generated from field: common.Metadata metadata = 100;
1202
+ */
1203
+ metadata?: Metadata;
1204
+ };
1205
+
1206
+ /**
1207
+ * Describes the message policy.ObligationTrigger.
1208
+ * Use `create(ObligationTriggerSchema)` to create a new message.
1209
+ */
1210
+ export const ObligationTriggerSchema: GenMessage<ObligationTrigger> = /*@__PURE__*/
1211
+ messageDesc(file_policy_objects, 27);
897
1212
 
898
1213
  /**
899
1214
  * @generated from message policy.KasKey
@@ -908,6 +1223,11 @@ export type KasKey = Message<"policy.KasKey"> & {
908
1223
  * @generated from field: policy.AsymmetricKey key = 2;
909
1224
  */
910
1225
  key?: AsymmetricKey;
1226
+
1227
+ /**
1228
+ * @generated from field: string kas_uri = 3;
1229
+ */
1230
+ kasUri: string;
911
1231
  };
912
1232
 
913
1233
  /**
@@ -915,33 +1235,94 @@ export type KasKey = Message<"policy.KasKey"> & {
915
1235
  * Use `create(KasKeySchema)` to create a new message.
916
1236
  */
917
1237
  export const KasKeySchema: GenMessage<KasKey> = /*@__PURE__*/
918
- messageDesc(file_policy_objects, 20);
1238
+ messageDesc(file_policy_objects, 28);
1239
+
1240
+ /**
1241
+ * @generated from message policy.PublicKeyCtx
1242
+ */
1243
+ export type PublicKeyCtx = Message<"policy.PublicKeyCtx"> & {
1244
+ /**
1245
+ * Required
1246
+ *
1247
+ * Base64 encoded public key in PEM format
1248
+ *
1249
+ * @generated from field: string pem = 1;
1250
+ */
1251
+ pem: string;
1252
+ };
1253
+
1254
+ /**
1255
+ * Describes the message policy.PublicKeyCtx.
1256
+ * Use `create(PublicKeyCtxSchema)` to create a new message.
1257
+ */
1258
+ export const PublicKeyCtxSchema: GenMessage<PublicKeyCtx> = /*@__PURE__*/
1259
+ messageDesc(file_policy_objects, 29);
1260
+
1261
+ /**
1262
+ * @generated from message policy.PrivateKeyCtx
1263
+ */
1264
+ export type PrivateKeyCtx = Message<"policy.PrivateKeyCtx"> & {
1265
+ /**
1266
+ * Required
1267
+ *
1268
+ * Key ID for the symmetric key wrapping this key.
1269
+ *
1270
+ * @generated from field: string key_id = 1;
1271
+ */
1272
+ keyId: string;
1273
+
1274
+ /**
1275
+ * Optional
1276
+ *
1277
+ * Base64 encoded wrapped key. Conditionally required if key_mode is LOCAL. Should not be present if key_mode is REMOTE.
1278
+ *
1279
+ * @generated from field: string wrapped_key = 2;
1280
+ */
1281
+ wrappedKey: string;
1282
+ };
1283
+
1284
+ /**
1285
+ * Describes the message policy.PrivateKeyCtx.
1286
+ * Use `create(PrivateKeyCtxSchema)` to create a new message.
1287
+ */
1288
+ export const PrivateKeyCtxSchema: GenMessage<PrivateKeyCtx> = /*@__PURE__*/
1289
+ messageDesc(file_policy_objects, 30);
919
1290
 
920
1291
  /**
921
1292
  * @generated from message policy.AsymmetricKey
922
1293
  */
923
1294
  export type AsymmetricKey = Message<"policy.AsymmetricKey"> & {
924
1295
  /**
1296
+ * Required
1297
+ *
925
1298
  * @generated from field: string id = 1;
926
1299
  */
927
1300
  id: string;
928
1301
 
929
1302
  /**
1303
+ * Required
1304
+ *
930
1305
  * @generated from field: string key_id = 2;
931
1306
  */
932
1307
  keyId: string;
933
1308
 
934
1309
  /**
1310
+ * Required
1311
+ *
935
1312
  * @generated from field: policy.Algorithm key_algorithm = 3;
936
1313
  */
937
1314
  keyAlgorithm: Algorithm;
938
1315
 
939
1316
  /**
1317
+ * Required
1318
+ *
940
1319
  * @generated from field: policy.KeyStatus key_status = 4;
941
1320
  */
942
1321
  keyStatus: KeyStatus;
943
1322
 
944
1323
  /**
1324
+ * Required
1325
+ *
945
1326
  * Specifies how the key is managed (local or remote)
946
1327
  *
947
1328
  * @generated from field: policy.KeyMode key_mode = 5;
@@ -949,26 +1330,41 @@ export type AsymmetricKey = Message<"policy.AsymmetricKey"> & {
949
1330
  keyMode: KeyMode;
950
1331
 
951
1332
  /**
1333
+ * Required
1334
+ *
952
1335
  * Specific structure based on key provider implementation
953
1336
  *
954
- * @generated from field: bytes public_key_ctx = 6;
1337
+ * @generated from field: policy.PublicKeyCtx public_key_ctx = 6;
955
1338
  */
956
- publicKeyCtx: Uint8Array;
1339
+ publicKeyCtx?: PublicKeyCtx;
957
1340
 
958
1341
  /**
1342
+ * Optional
1343
+ *
959
1344
  * Specific structure based on key provider implementation
960
1345
  *
961
- * @generated from field: bytes private_key_ctx = 7;
1346
+ * @generated from field: policy.PrivateKeyCtx private_key_ctx = 7;
962
1347
  */
963
- privateKeyCtx: Uint8Array;
1348
+ privateKeyCtx?: PrivateKeyCtx;
964
1349
 
965
1350
  /**
1351
+ * Optional
1352
+ *
966
1353
  * Configuration for the key provider
967
1354
  *
968
1355
  * @generated from field: policy.KeyProviderConfig provider_config = 8;
969
1356
  */
970
1357
  providerConfig?: KeyProviderConfig;
971
1358
 
1359
+ /**
1360
+ * Optional
1361
+ *
1362
+ * Indicates a key may be found in TDFs without key identifiers
1363
+ *
1364
+ * @generated from field: bool legacy = 9;
1365
+ */
1366
+ legacy: boolean;
1367
+
972
1368
  /**
973
1369
  * Common metadata fields
974
1370
  *
@@ -982,7 +1378,7 @@ export type AsymmetricKey = Message<"policy.AsymmetricKey"> & {
982
1378
  * Use `create(AsymmetricKeySchema)` to create a new message.
983
1379
  */
984
1380
  export const AsymmetricKeySchema: GenMessage<AsymmetricKey> = /*@__PURE__*/
985
- messageDesc(file_policy_objects, 21);
1381
+ messageDesc(file_policy_objects, 31);
986
1382
 
987
1383
  /**
988
1384
  * @generated from message policy.SymmetricKey
@@ -1037,7 +1433,7 @@ export type SymmetricKey = Message<"policy.SymmetricKey"> & {
1037
1433
  * Use `create(SymmetricKeySchema)` to create a new message.
1038
1434
  */
1039
1435
  export const SymmetricKeySchema: GenMessage<SymmetricKey> = /*@__PURE__*/
1040
- messageDesc(file_policy_objects, 22);
1436
+ messageDesc(file_policy_objects, 32);
1041
1437
 
1042
1438
  /**
1043
1439
  * @generated from enum policy.AttributeRuleTypeEnum
@@ -1269,14 +1665,9 @@ export enum KeyStatus {
1269
1665
  ACTIVE = 1,
1270
1666
 
1271
1667
  /**
1272
- * @generated from enum value: KEY_STATUS_INACTIVE = 2;
1668
+ * @generated from enum value: KEY_STATUS_ROTATED = 2;
1273
1669
  */
1274
- INACTIVE = 2,
1275
-
1276
- /**
1277
- * @generated from enum value: KEY_STATUS_COMPROMISED = 3;
1278
- */
1279
- COMPROMISED = 3,
1670
+ ROTATED = 2,
1280
1671
  }
1281
1672
 
1282
1673
  /**
@@ -1286,29 +1677,53 @@ export const KeyStatusSchema: GenEnum<KeyStatus> = /*@__PURE__*/
1286
1677
  enumDesc(file_policy_objects, 6);
1287
1678
 
1288
1679
  /**
1289
- * Describe how the kas private key is managed.
1290
- * If the key mode is LOCAL, then the kas private key is stored in the database.
1291
- * This could be encrypted or unencrypted.
1292
- * Remote means that the kas private key is stored in a remote key system like KMS or HSM
1293
- * and all operations are done by the remote key system.
1680
+ * Describes the management and operational mode of a cryptographic key.
1294
1681
  *
1295
1682
  * @generated from enum policy.KeyMode
1296
1683
  */
1297
1684
  export enum KeyMode {
1298
1685
  /**
1686
+ * KEY_MODE_UNSPECIFIED: Default, unspecified key mode. Indicates an uninitialized or error state.
1687
+ *
1299
1688
  * @generated from enum value: KEY_MODE_UNSPECIFIED = 0;
1300
1689
  */
1301
1690
  UNSPECIFIED = 0,
1302
1691
 
1303
1692
  /**
1304
- * @generated from enum value: KEY_MODE_LOCAL = 1;
1693
+ * KEY_MODE_CONFIG_ROOT_KEY: Local key management where the private key is wrapped by a Key Encryption Key (KEK)
1694
+ * sourced from local configuration. Unwrapping and all cryptographic operations are performed locally.
1695
+ *
1696
+ * @generated from enum value: KEY_MODE_CONFIG_ROOT_KEY = 1;
1697
+ */
1698
+ CONFIG_ROOT_KEY = 1,
1699
+
1700
+ /**
1701
+ * KEY_MODE_PROVIDER_ROOT_KEY: Local key management where the private key is wrapped by a Key Encryption Key (KEK)
1702
+ * managed by an external provider (e.g., a Hardware Security Module or Cloud KMS).
1703
+ * Key unwrapping is delegated to the external provider; subsequent cryptographic operations
1704
+ * are performed locally using the unwrapped key.
1705
+ *
1706
+ * @generated from enum value: KEY_MODE_PROVIDER_ROOT_KEY = 2;
1305
1707
  */
1306
- LOCAL = 1,
1708
+ PROVIDER_ROOT_KEY = 2,
1307
1709
 
1308
1710
  /**
1309
- * @generated from enum value: KEY_MODE_REMOTE = 2;
1711
+ * KEY_MODE_REMOTE: Remote key management where the private key is stored in, and all cryptographic
1712
+ * operations are performed by, a remote Key Management Service (KMS) or HSM.
1713
+ * The private key material never leaves the secure boundary of the remote system.
1714
+ *
1715
+ * @generated from enum value: KEY_MODE_REMOTE = 3;
1716
+ */
1717
+ REMOTE = 3,
1718
+
1719
+ /**
1720
+ * KEY_MODE_PUBLIC_KEY_ONLY: Public key only mode. Used when only a public key is available or required,
1721
+ * typically for wrapping operations (e.g., encrypting a Data Encryption Key (DEK) for an external KAS).
1722
+ * The corresponding private key is not managed or accessible by this system.
1723
+ *
1724
+ * @generated from enum value: KEY_MODE_PUBLIC_KEY_ONLY = 4;
1310
1725
  */
1311
- REMOTE = 2,
1726
+ PUBLIC_KEY_ONLY = 4,
1312
1727
  }
1313
1728
 
1314
1729
  /**