@opentdf/sdk 0.4.0-beta.4 → 0.4.0-beta.40

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 (189) hide show
  1. package/dist/cjs/src/access.js +16 -1
  2. package/dist/cjs/src/auth/oidc-clientcredentials-provider.js +4 -2
  3. package/dist/cjs/src/auth/oidc-externaljwt-provider.js +5 -3
  4. package/dist/cjs/src/auth/oidc-refreshtoken-provider.js +19 -3
  5. package/dist/cjs/src/auth/oidc.js +9 -8
  6. package/dist/cjs/src/auth/providers.js +7 -1
  7. package/dist/cjs/src/index.js +4 -2
  8. package/dist/cjs/src/opentdf.js +66 -12
  9. package/dist/cjs/src/platform/authorization/v2/authorization_pb.js +112 -0
  10. package/dist/cjs/src/platform/buf/validate/validate_pb.js +114 -170
  11. package/dist/cjs/src/platform/common/common_pb.js +16 -5
  12. package/dist/cjs/src/platform/entity/entity_pb.js +51 -0
  13. package/dist/cjs/src/platform/entityresolution/entity_resolution_pb.js +1 -1
  14. package/dist/cjs/src/platform/entityresolution/v2/entity_resolution_pb.js +49 -0
  15. package/dist/cjs/src/platform/google/api/annotations_pb.js +1 -1
  16. package/dist/cjs/src/platform/google/api/http_pb.js +3 -3
  17. package/dist/cjs/src/platform/kas/kas_pb.js +2 -2
  18. package/dist/cjs/src/platform/policy/attributes/attributes_pb.js +12 -2
  19. package/dist/cjs/src/platform/policy/kasregistry/key_access_server_registry_pb.js +57 -4
  20. package/dist/cjs/src/platform/policy/keymanagement/key_management_pb.js +2 -2
  21. package/dist/cjs/src/platform/policy/namespaces/namespaces_pb.js +31 -4
  22. package/dist/cjs/src/platform/policy/objects_pb.js +116 -42
  23. package/dist/cjs/src/platform/policy/obligations/obligations_pb.js +159 -0
  24. package/dist/cjs/src/platform/policy/registeredresources/registered_resources_pb.js +20 -15
  25. package/dist/cjs/src/platform/policy/resourcemapping/resource_mapping_pb.js +2 -3
  26. package/dist/cjs/src/platform/policy/selectors_pb.js +1 -1
  27. package/dist/cjs/src/platform/policy/subjectmapping/subject_mapping_pb.js +2 -3
  28. package/dist/cjs/src/platform/policy/unsafe/unsafe_pb.js +2 -4
  29. package/dist/cjs/src/platform.js +16 -3
  30. package/dist/cjs/src/policy/api.js +27 -7
  31. package/dist/cjs/src/policy/granter.js +75 -48
  32. package/dist/cjs/src/seekable.js +32 -1
  33. package/dist/cjs/src/utils.js +57 -3
  34. package/dist/cjs/tdf3/src/assertions.js +39 -2
  35. package/dist/cjs/tdf3/src/client/builders.js +13 -1
  36. package/dist/cjs/tdf3/src/client/index.js +200 -53
  37. package/dist/cjs/tdf3/src/client/validation.js +3 -3
  38. package/dist/cjs/tdf3/src/tdf.js +20 -2
  39. package/dist/cjs/tdf3/src/utils/unwrap.js +2 -2
  40. package/dist/types/src/access.d.ts +15 -0
  41. package/dist/types/src/access.d.ts.map +1 -1
  42. package/dist/types/src/auth/oidc-clientcredentials-provider.d.ts +1 -1
  43. package/dist/types/src/auth/oidc-clientcredentials-provider.d.ts.map +1 -1
  44. package/dist/types/src/auth/oidc-externaljwt-provider.d.ts +1 -1
  45. package/dist/types/src/auth/oidc-externaljwt-provider.d.ts.map +1 -1
  46. package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts +15 -1
  47. package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts.map +1 -1
  48. package/dist/types/src/auth/oidc.d.ts +4 -0
  49. package/dist/types/src/auth/oidc.d.ts.map +1 -1
  50. package/dist/types/src/auth/providers.d.ts.map +1 -1
  51. package/dist/types/src/index.d.ts +1 -0
  52. package/dist/types/src/index.d.ts.map +1 -1
  53. package/dist/types/src/opentdf.d.ts +126 -6
  54. package/dist/types/src/opentdf.d.ts.map +1 -1
  55. package/dist/types/src/platform/authorization/v2/authorization_pb.d.ts +439 -0
  56. package/dist/types/src/platform/authorization/v2/authorization_pb.d.ts.map +1 -0
  57. package/dist/types/src/platform/buf/validate/validate_pb.d.ts +495 -370
  58. package/dist/types/src/platform/buf/validate/validate_pb.d.ts.map +1 -1
  59. package/dist/types/src/platform/common/common_pb.d.ts +36 -0
  60. package/dist/types/src/platform/common/common_pb.d.ts.map +1 -1
  61. package/dist/types/src/platform/entity/entity_pb.d.ts +130 -0
  62. package/dist/types/src/platform/entity/entity_pb.d.ts.map +1 -0
  63. package/dist/types/src/platform/entityresolution/entity_resolution_pb.d.ts +4 -0
  64. package/dist/types/src/platform/entityresolution/entity_resolution_pb.d.ts.map +1 -1
  65. package/dist/types/src/platform/entityresolution/v2/entity_resolution_pb.d.ts +136 -0
  66. package/dist/types/src/platform/entityresolution/v2/entity_resolution_pb.d.ts.map +1 -0
  67. package/dist/types/src/platform/google/api/http_pb.d.ts.map +1 -1
  68. package/dist/types/src/platform/kas/kas_pb.d.ts +5 -0
  69. package/dist/types/src/platform/kas/kas_pb.d.ts.map +1 -1
  70. package/dist/types/src/platform/policy/attributes/attributes_pb.d.ts +44 -13
  71. package/dist/types/src/platform/policy/attributes/attributes_pb.d.ts.map +1 -1
  72. package/dist/types/src/platform/policy/kasregistry/key_access_server_registry_pb.d.ts +329 -24
  73. package/dist/types/src/platform/policy/kasregistry/key_access_server_registry_pb.d.ts.map +1 -1
  74. package/dist/types/src/platform/policy/keymanagement/key_management_pb.d.ts +20 -1
  75. package/dist/types/src/platform/policy/keymanagement/key_management_pb.d.ts.map +1 -1
  76. package/dist/types/src/platform/policy/namespaces/namespaces_pb.d.ts +143 -5
  77. package/dist/types/src/platform/policy/namespaces/namespaces_pb.d.ts.map +1 -1
  78. package/dist/types/src/platform/policy/objects_pb.d.ts +382 -33
  79. package/dist/types/src/platform/policy/objects_pb.d.ts.map +1 -1
  80. package/dist/types/src/platform/policy/obligations/obligations_pb.d.ts +670 -0
  81. package/dist/types/src/platform/policy/obligations/obligations_pb.d.ts.map +1 -0
  82. package/dist/types/src/platform/policy/registeredresources/registered_resources_pb.d.ts +67 -0
  83. package/dist/types/src/platform/policy/registeredresources/registered_resources_pb.d.ts.map +1 -1
  84. package/dist/types/src/platform/policy/resourcemapping/resource_mapping_pb.d.ts.map +1 -1
  85. package/dist/types/src/platform/policy/selectors_pb.d.ts +18 -0
  86. package/dist/types/src/platform/policy/selectors_pb.d.ts.map +1 -1
  87. package/dist/types/src/platform/policy/subjectmapping/subject_mapping_pb.d.ts.map +1 -1
  88. package/dist/types/src/platform/policy/unsafe/unsafe_pb.d.ts +18 -4
  89. package/dist/types/src/platform/policy/unsafe/unsafe_pb.d.ts.map +1 -1
  90. package/dist/types/src/platform.d.ts +16 -0
  91. package/dist/types/src/platform.d.ts.map +1 -1
  92. package/dist/types/src/policy/api.d.ts +2 -0
  93. package/dist/types/src/policy/api.d.ts.map +1 -1
  94. package/dist/types/src/policy/granter.d.ts +11 -6
  95. package/dist/types/src/policy/granter.d.ts.map +1 -1
  96. package/dist/types/src/seekable.d.ts +31 -0
  97. package/dist/types/src/seekable.d.ts.map +1 -1
  98. package/dist/types/src/utils.d.ts +56 -2
  99. package/dist/types/src/utils.d.ts.map +1 -1
  100. package/dist/types/tdf3/src/assertions.d.ts +4 -0
  101. package/dist/types/tdf3/src/assertions.d.ts.map +1 -1
  102. package/dist/types/tdf3/src/client/builders.d.ts +12 -0
  103. package/dist/types/tdf3/src/client/builders.d.ts.map +1 -1
  104. package/dist/types/tdf3/src/client/index.d.ts +11 -3
  105. package/dist/types/tdf3/src/client/index.d.ts.map +1 -1
  106. package/dist/types/tdf3/src/client/validation.d.ts +3 -3
  107. package/dist/types/tdf3/src/client/validation.d.ts.map +1 -1
  108. package/dist/types/tdf3/src/tdf.d.ts +2 -1
  109. package/dist/types/tdf3/src/tdf.d.ts.map +1 -1
  110. package/dist/types/tdf3/src/utils/unwrap.d.ts.map +1 -1
  111. package/dist/web/src/access.js +16 -1
  112. package/dist/web/src/auth/oidc-clientcredentials-provider.js +4 -2
  113. package/dist/web/src/auth/oidc-externaljwt-provider.js +5 -3
  114. package/dist/web/src/auth/oidc-refreshtoken-provider.js +19 -3
  115. package/dist/web/src/auth/oidc.js +9 -8
  116. package/dist/web/src/auth/providers.js +7 -1
  117. package/dist/web/src/index.js +2 -1
  118. package/dist/web/src/opentdf.js +66 -12
  119. package/dist/web/src/platform/authorization/v2/authorization_pb.js +109 -0
  120. package/dist/web/src/platform/buf/validate/validate_pb.js +113 -169
  121. package/dist/web/src/platform/common/common_pb.js +15 -4
  122. package/dist/web/src/platform/entity/entity_pb.js +48 -0
  123. package/dist/web/src/platform/entityresolution/entity_resolution_pb.js +1 -1
  124. package/dist/web/src/platform/entityresolution/v2/entity_resolution_pb.js +46 -0
  125. package/dist/web/src/platform/google/api/annotations_pb.js +1 -1
  126. package/dist/web/src/platform/google/api/http_pb.js +3 -3
  127. package/dist/web/src/platform/kas/kas_pb.js +2 -2
  128. package/dist/web/src/platform/policy/attributes/attributes_pb.js +12 -2
  129. package/dist/web/src/platform/policy/kasregistry/key_access_server_registry_pb.js +55 -3
  130. package/dist/web/src/platform/policy/keymanagement/key_management_pb.js +2 -2
  131. package/dist/web/src/platform/policy/namespaces/namespaces_pb.js +30 -3
  132. package/dist/web/src/platform/policy/objects_pb.js +114 -41
  133. package/dist/web/src/platform/policy/obligations/obligations_pb.js +156 -0
  134. package/dist/web/src/platform/policy/registeredresources/registered_resources_pb.js +19 -14
  135. package/dist/web/src/platform/policy/resourcemapping/resource_mapping_pb.js +2 -3
  136. package/dist/web/src/platform/policy/selectors_pb.js +1 -1
  137. package/dist/web/src/platform/policy/subjectmapping/subject_mapping_pb.js +2 -3
  138. package/dist/web/src/platform/policy/unsafe/unsafe_pb.js +2 -4
  139. package/dist/web/src/platform.js +16 -3
  140. package/dist/web/src/policy/api.js +26 -7
  141. package/dist/web/src/policy/granter.js +75 -48
  142. package/dist/web/src/seekable.js +32 -1
  143. package/dist/web/src/utils.js +57 -3
  144. package/dist/web/tdf3/src/assertions.js +38 -2
  145. package/dist/web/tdf3/src/client/builders.js +13 -1
  146. package/dist/web/tdf3/src/client/index.js +202 -56
  147. package/dist/web/tdf3/src/client/validation.js +3 -3
  148. package/dist/web/tdf3/src/tdf.js +20 -2
  149. package/dist/web/tdf3/src/utils/unwrap.js +2 -2
  150. package/package.json +7 -5
  151. package/src/access.ts +15 -0
  152. package/src/auth/oidc-clientcredentials-provider.ts +4 -0
  153. package/src/auth/oidc-externaljwt-provider.ts +5 -1
  154. package/src/auth/oidc-refreshtoken-provider.ts +19 -1
  155. package/src/auth/oidc.ts +12 -7
  156. package/src/auth/providers.ts +6 -0
  157. package/src/index.ts +1 -0
  158. package/src/opentdf.ts +149 -72
  159. package/src/platform/authorization/v2/authorization_pb.ts +503 -0
  160. package/src/platform/buf/validate/validate_pb.ts +529 -401
  161. package/src/platform/common/common_pb.ts +48 -3
  162. package/src/platform/entity/entity_pb.ts +154 -0
  163. package/src/platform/entityresolution/entity_resolution_pb.ts +4 -0
  164. package/src/platform/entityresolution/v2/entity_resolution_pb.ts +170 -0
  165. package/src/platform/google/api/annotations_pb.ts +1 -1
  166. package/src/platform/google/api/http_pb.ts +2 -2
  167. package/src/platform/kas/kas_pb.ts +6 -1
  168. package/src/platform/policy/attributes/attributes_pb.ts +46 -16
  169. package/src/platform/policy/kasregistry/key_access_server_registry_pb.ts +371 -27
  170. package/src/platform/policy/keymanagement/key_management_pb.ts +24 -2
  171. package/src/platform/policy/namespaces/namespaces_pb.ts +163 -7
  172. package/src/platform/policy/objects_pb.ts +474 -59
  173. package/src/platform/policy/obligations/obligations_pb.ts +788 -0
  174. package/src/platform/policy/registeredresources/registered_resources_pb.ts +80 -13
  175. package/src/platform/policy/resourcemapping/resource_mapping_pb.ts +1 -2
  176. package/src/platform/policy/selectors_pb.ts +18 -0
  177. package/src/platform/policy/subjectmapping/subject_mapping_pb.ts +1 -2
  178. package/src/platform/policy/unsafe/unsafe_pb.ts +21 -6
  179. package/src/platform.ts +19 -5
  180. package/src/policy/api.ts +37 -6
  181. package/src/policy/granter.ts +82 -56
  182. package/src/seekable.ts +31 -0
  183. package/src/utils.ts +56 -2
  184. package/tdf3/src/assertions.ts +52 -1
  185. package/tdf3/src/client/builders.ts +15 -0
  186. package/tdf3/src/client/index.ts +279 -73
  187. package/tdf3/src/client/validation.ts +2 -2
  188. package/tdf3/src/tdf.ts +26 -2
  189. package/tdf3/src/utils/unwrap.ts +2 -1
@@ -16,10 +16,11 @@ const defaultRewrapCacheOptions = {
16
16
  maxAge: 300000,
17
17
  pollInterval: 500,
18
18
  };
19
- // Cache for headers of nanotdf collections.
20
- // This allows the SDK to quickly open multiple entries of the same collection.
21
- // It has a demon that removes all keys that have not been accessed in the last 5 minutes.
22
- // To cancel the demon, and clear the cache, call `close()`.
19
+ /**
20
+ * Cache for headers of nanotdf collections, to quickly open multiple entries of the same collection.
21
+ * It has a demon that removes all keys that have not been accessed in the last 5 minutes.
22
+ * To cancel the demon, and clear the cache, call `close()`.
23
+ * */
23
24
  export class RewrapCache {
24
25
  constructor(opts) {
25
26
  const { bypass, maxAge, pollInterval } = { ...defaultRewrapCacheOptions, ...opts };
@@ -51,12 +52,14 @@ export class RewrapCache {
51
52
  }
52
53
  return undefined;
53
54
  }
55
+ /** Set a key in the cache. */
54
56
  set(key, value) {
55
57
  if (!this.cache) {
56
58
  return;
57
59
  }
58
60
  this.cache.set(key, { lastAccessTime: Date.now(), value });
59
61
  }
62
+ /** Close the cache and release any resources. */
60
63
  close() {
61
64
  if (this.closer !== undefined) {
62
65
  clearInterval(this.closer);
@@ -65,7 +68,38 @@ export class RewrapCache {
65
68
  }
66
69
  }
67
70
  }
68
- // SDK for dealing with OpenTDF data and policy services.
71
+ /**
72
+ * The main OpenTDF class that provides methods for creating and reading TDF files.
73
+ * It supports both NanoTDF and ZTDF formats.
74
+ * It can be used to create new TDF files and read existing ones.
75
+ * This class is the entry point for using the OpenTDF SDK.
76
+ * It requires an authentication provider to be passed in the constructor.
77
+ * It also requires a platform URL to be set, which is used to fetch key access servers and policies.
78
+ * @example
79
+ * ```
80
+ * import { type Chunker, OpenTDF } from '@opentdf/sdk';
81
+ *
82
+ * const oidcCredentials: RefreshTokenCredentials = {
83
+ * clientId: keycloakClientId,
84
+ * exchange: 'refresh',
85
+ * refreshToken: refreshToken,
86
+ * oidcOrigin: keycloakUrl,
87
+ * };
88
+ * const authProvider = await AuthProviders.refreshAuthProvider(oidcCredentials);
89
+ *
90
+ * const client = new OpenTDF({
91
+ * authProvider,
92
+ * platformUrl: 'https://platform.example.com',
93
+ * });
94
+ *
95
+ * const cipherText = await client.createZTDF({
96
+ * source: { type: 'stream', location: source },
97
+ * autoconfigure: false,
98
+ * });
99
+ *
100
+ * const clearText = await client.read({ type: 'stream', location: cipherText });
101
+ * ```
102
+ */
69
103
  export class OpenTDF {
70
104
  constructor({ authProvider, dpopKeys, defaultCreateOptions, defaultReadOptions, disableDPoP, policyEndpoint, rewrapCacheOptions, platformUrl, }) {
71
105
  this.authProvider = authProvider;
@@ -84,6 +118,7 @@ export class OpenTDF {
84
118
  authProvider,
85
119
  dpopKeys,
86
120
  kasEndpoint: this.platformUrl || 'https://disallow.all.invalid',
121
+ platformUrl,
87
122
  policyEndpoint,
88
123
  });
89
124
  this.dpopKeys =
@@ -95,6 +130,7 @@ export class OpenTDF {
95
130
  publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
96
131
  }, true, ['sign', 'verify']);
97
132
  }
133
+ /** Creates a new NanoTDF stream. */
98
134
  async createNanoTDF(opts) {
99
135
  opts = {
100
136
  ...this.defaultCreateOptions,
@@ -113,12 +149,12 @@ export class OpenTDF {
113
149
  }
114
150
  /**
115
151
  * Creates a new collection object, which can be used to encrypt a series of data with the same policy.
116
- * @returns
117
152
  */
118
153
  async createNanoTDFCollection(opts) {
119
154
  opts = { ...this.defaultCreateOptions, ...opts };
120
155
  return new Collection(this.authProvider, opts);
121
156
  }
157
+ /** Creates a new ZTDF stream. */
122
158
  async createZTDF(opts) {
123
159
  opts = { ...this.defaultCreateOptions, ...opts };
124
160
  const oldStream = await this.tdf3Client.encrypt({
@@ -141,23 +177,22 @@ export class OpenTDF {
141
177
  stream.metadata = Promise.resolve(oldStream.metadata);
142
178
  return stream;
143
179
  }
144
- /**
145
- * Opens a TDF file for inspection and decryption.
146
- * @param opts the file to open, and any appropriate configuration options
147
- * @returns
148
- */
180
+ /** Opens a TDF file for inspection and decryption. */
149
181
  open(opts) {
150
182
  opts = { ...this.defaultReadOptions, ...opts };
151
183
  return new UnknownTypeReader(this, opts, this.rewrapCache);
152
184
  }
185
+ /** Decrypts a TDF file. */
153
186
  async read(opts) {
154
187
  const reader = this.open(opts);
155
188
  return reader.decrypt();
156
189
  }
190
+ /** Closes the OpenTDF instance and releases any resources. */
157
191
  close() {
158
192
  this.rewrapCache.close();
159
193
  }
160
194
  }
195
+ /** A TDF reader that can automatically detect the TDF type. */
161
196
  class UnknownTypeReader {
162
197
  constructor(outer, opts, rewrapCache) {
163
198
  this.outer = outer;
@@ -166,6 +201,7 @@ class UnknownTypeReader {
166
201
  this.state = 'init';
167
202
  this.delegate = this.resolveType();
168
203
  }
204
+ /** Resolves the TDF type based on the file prefix. */
169
205
  async resolveType() {
170
206
  if (this.state === 'done') {
171
207
  throw new ConfigurationError('reader is closed');
@@ -187,18 +223,22 @@ class UnknownTypeReader {
187
223
  this.state = 'done';
188
224
  throw new InvalidFileError(`unsupported format; prefix not recognized ${prefix}`);
189
225
  }
226
+ /** Decrypts the TDF file */
190
227
  async decrypt() {
191
228
  const actual = await this.delegate;
192
229
  return actual.decrypt();
193
230
  }
231
+ /** Returns the attributes of the TDF file */
194
232
  async attributes() {
195
233
  const actual = await this.delegate;
196
234
  return actual.attributes();
197
235
  }
236
+ /** Returns the manifest of the TDF file */
198
237
  async manifest() {
199
238
  const actual = await this.delegate;
200
239
  return actual.manifest();
201
240
  }
241
+ /** Closes the TDF reader */
202
242
  async close() {
203
243
  if (this.state === 'done') {
204
244
  return;
@@ -215,6 +255,7 @@ class UnknownTypeReader {
215
255
  });
216
256
  }
217
257
  }
258
+ /** A TDF reader for NanoTDF files. */
218
259
  class NanoTDFReader {
219
260
  constructor(outer, opts, chunker, rewrapCache) {
220
261
  this.outer = outer;
@@ -238,6 +279,7 @@ class NanoTDFReader {
238
279
  }
239
280
  });
240
281
  }
282
+ /** Decrypts the NanoTDF file and returns a decorated stream. */
241
283
  async decrypt() {
242
284
  const nanotdf = await this.container;
243
285
  const cachedDEK = this.rewrapCache.get(nanotdf.header.ephemeralPublicKey);
@@ -272,9 +314,11 @@ class NanoTDFReader {
272
314
  return r;
273
315
  }
274
316
  async close() { }
317
+ /** Returns blank manifest. NanoTDF has no manifest. */
275
318
  async manifest() {
276
319
  return {};
277
320
  }
321
+ /** Returns the attributes of the NanoTDF file. */
278
322
  async attributes() {
279
323
  const nanotdf = await this.container;
280
324
  if (!nanotdf.header.policy?.content) {
@@ -288,6 +332,7 @@ class NanoTDFReader {
288
332
  return policy?.body?.dataAttributes.map((a) => a.attribute) || [];
289
333
  }
290
334
  }
335
+ /** A reader for TDF files. */
291
336
  class ZTDFReader {
292
337
  constructor(client, opts, source) {
293
338
  this.client = client;
@@ -295,6 +340,10 @@ class ZTDFReader {
295
340
  this.source = source;
296
341
  this.overview = loadTDFStream(source);
297
342
  }
343
+ /**
344
+ * Decrypts the TDF file and returns a decorated stream.
345
+ * The stream will have a manifest and metadata attached if available.
346
+ */
298
347
  async decrypt() {
299
348
  const { assertionVerificationKeys, noVerify: noVerifyAssertions, wrappingKeyAlgorithm, } = this.opts;
300
349
  if (!this.opts.ignoreAllowlist && !this.opts.allowedKASEndpoints && !this.opts.platformUrl) {
@@ -335,10 +384,12 @@ class ZTDFReader {
335
384
  async close() {
336
385
  // TODO figure out how to close a chunker, if we want to.
337
386
  }
387
+ /** Returns the manifest of the TDF file. */
338
388
  async manifest() {
339
389
  const overview = await this.overview;
340
390
  return overview.manifest;
341
391
  }
392
+ /** Returns the attributes of the TDF file. */
342
393
  async attributes() {
343
394
  const manifest = await this.manifest();
344
395
  const policyJSON = base64.decode(manifest.encryptionInformation.policy);
@@ -383,7 +434,9 @@ class Collection {
383
434
  maxKeyIterations: opts.maxKeyIterations,
384
435
  platformUrl: opts.platformUrl,
385
436
  });
437
+ this.client.dataAttributes = opts.attributes || [];
386
438
  }
439
+ /** Encrypts a source into a NanoTDF stream. */
387
440
  async encrypt(source) {
388
441
  if (!this.client) {
389
442
  throw new ConfigurationError('Collection is closed');
@@ -400,8 +453,9 @@ class Collection {
400
453
  // stream.header = this.client.header;
401
454
  return stream;
402
455
  }
456
+ /** Releases client resources. */
403
457
  async close() {
404
458
  delete this.client;
405
459
  }
406
460
  }
407
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnRkZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vcGVudGRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNuRSxPQUFPLEVBQTZDLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkcsT0FBTyxFQUFFLE1BQU0sSUFBSSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUMzQyxPQUFPLGNBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUV6QyxPQUFPLEVBQVcsVUFBVSxFQUFFLGNBQWMsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxJQUFJLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBTW5FLE9BQU8sRUFFTCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLG9CQUFvQixHQUNyQixNQUFNLGFBQWEsQ0FBQztBQVNyQixPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLGFBQWEsR0FFZCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLFVBQVUsTUFBTSxrQ0FBa0MsQ0FBQztBQUcxRCxPQUFPLEVBVUwsb0JBQW9CLEdBQ3JCLENBQUM7QUFpS0YsTUFBTSx5QkFBeUIsR0FBaUM7SUFDOUQsTUFBTSxFQUFFLEtBQUs7SUFDYixNQUFNLEVBQUUsTUFBTTtJQUNkLFlBQVksRUFBRSxHQUFHO0NBQ2xCLENBQUM7QUFFRiw0Q0FBNEM7QUFDNUMsK0VBQStFO0FBQy9FLDBGQUEwRjtBQUMxRiw0REFBNEQ7QUFDNUQsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBWSxJQUF5QjtRQUNuQyxNQUFNLEVBQUUs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
461
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnRkZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vcGVudGRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNuRSxPQUFPLEVBQTZDLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkcsT0FBTyxFQUFFLE1BQU0sSUFBSSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUMzQyxPQUFPLGNBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUV6QyxPQUFPLEVBQVcsVUFBVSxFQUFFLGNBQWMsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxJQUFJLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBTW5FLE9BQU8sRUFFTCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLG9CQUFvQixHQUNyQixNQUFNLGFBQWEsQ0FBQztBQVNyQixPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLGFBQWEsR0FFZCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLFVBQVUsTUFBTSxrQ0FBa0MsQ0FBQztBQUcxRCxPQUFPLEVBVUwsb0JBQW9CLEdBQ3JCLENBQUM7QUE2S0YsTUFBTSx5QkFBeUIsR0FBaUM7SUFDOUQsTUFBTSxFQUFFLEtBQUs7SUFDYixNQUFNLEVBQUUsTUFBTTtJQUNkLFlBQVksRUFBRSxHQUFHO0NBQ2xCLENBQUM7QUFFRjs7OztLQUlLO0FBQ0wsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBWSxJQUF5QjtRQUNuQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFF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
@@ -0,0 +1,109 @@
1
+ // @generated by protoc-gen-es v2.2.5 with parameter "target=ts,import_extension=.js"
2
+ // @generated from file authorization/v2/authorization.proto (package authorization.v2, syntax proto3)
3
+ /* eslint-disable */
4
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
5
+ import { file_buf_validate_validate } from "../../buf/validate/validate_pb.js";
6
+ import { file_entity_entity } from "../../entity/entity_pb.js";
7
+ import { file_google_protobuf_wrappers } from "@bufbuild/protobuf/wkt";
8
+ import { file_policy_objects } from "../../policy/objects_pb.js";
9
+ /**
10
+ * Describes the file authorization/v2/authorization.proto.
11
+ */
12
+ export const file_authorization_v2_authorization = /*@__PURE__*/ fileDesc("CiRhdXRob3JpemF0aW9uL3YyL2F1dGhvcml6YXRpb24ucHJvdG8SEGF1dGhvcml6YXRpb24udjIixQQKEEVudGl0eUlkZW50aWZpZXIS1AEKDGVudGl0eV9jaGFpbhgBIAEoCzITLmVudGl0eS5FbnRpdHlDaGFpbkKmAbpIogG6AZ4BChVlbnRpdHlfY2hhaW5fcmVxdWlyZWQSN2VudGl0aWVzIG11c3QgYmUgcHJvdmlkZWQgYW5kIGJldHdlZW4gMSBhbmQgMTAgaW4gY291bnQaTGhhcyh0aGlzLmVudGl0aWVzKSAmJiB0aGlzLmVudGl0aWVzLnNpemUoKSA+IDAgJiYgdGhpcy5lbnRpdGllcy5zaXplKCkgPD0gMTBIABIzCh1yZWdpc3RlcmVkX3Jlc291cmNlX3ZhbHVlX2ZxbhgCIAEoCUIKukgHcgUQAYgBAUgAEnQKBXRva2VuGAMgASgLMg0uZW50aXR5LlRva2VuQlS6SFG6AU4KDnRva2VuX3JlcXVpcmVkEhZ0b2tlbiBtdXN0IGJlIHByb3ZpZGVkGiRoYXModGhpcy5qd3QpICYmIHRoaXMuand0LnNpemUoKSA+IDBIABKZAQoSd2l0aF9yZXF1ZXN0X3Rva2VuGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJfukhcugFZCh93aXRoX3JlcXVlc3RfdG9rZW5fbXVzdF9iZV90cnVlEih3aXRoX3JlcXVlc3RfdG9rZW4gbXVzdCBiZSB0cnVlIHdoZW4gc2V0Ggx0aGlzID09IHRydWVIAEITCgppZGVudGlmaWVyEgW6SAIIASLAAgoSRW50aXR5RW50aXRsZW1lbnRzEhQKDGVwaGVtZXJhbF9pZBgBIAEoCRJuCh9hY3Rpb25zX3Blcl9hdHRyaWJ1dGVfdmFsdWVfZnFuGAIgAygLMkUuYXV0aG9yaXphdGlvbi52Mi5FbnRpdHlFbnRpdGxlbWVudHMuQWN0aW9uc1BlckF0dHJpYnV0ZVZhbHVlRnFuRW50cnkaLgoLQWN0aW9uc0xpc3QSHwoHYWN0aW9ucxgBIAMoCzIOLnBvbGljeS5BY3Rpb24adAogQWN0aW9uc1BlckF0dHJpYnV0ZVZhbHVlRnFuRW50cnkSCwoDa2V5GAEgASgJEj8KBXZhbHVlGAIgASgLMjAuYXV0aG9yaXphdGlvbi52Mi5FbnRpdHlFbnRpdGxlbWVudHMuQWN0aW9uc0xpc3Q6AjgBIqQDCghSZXNvdXJjZRIUCgxlcGhlbWVyYWxfaWQYASABKAkSnwIKEGF0dHJpYnV0ZV92YWx1ZXMYAiABKAsyKi5hdXRob3JpemF0aW9uLnYyLlJlc291cmNlLkF0dHJpYnV0ZVZhbHVlc0LWAbpI0gG6Ac4BChlhdHRyaWJ1dGVfdmFsdWVzX3JlcXVpcmVkElxpZiBwcm92aWRlZCwgcmVzb3VyY2UuYXR0cmlidXRlX3ZhbHVlcyBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMjAgaW4gY291bnQgd2l0aCBhbGwgdmFsaWQgRlFOcxpTdGhpcy5mcW5zLnNpemUoKSA+IDAgJiYgdGhpcy5mcW5zLnNpemUoKSA8PSAyMCAmJiB0aGlzLmZxbnMuYWxsKGl0ZW0sIGl0ZW0uaXNVcmkoKSlIABIzCh1yZWdpc3RlcmVkX3Jlc291cmNlX3ZhbHVlX2ZxbhgDIAEoCUIKukgHcgUQAYgBAUgAGh8KD0F0dHJpYnV0ZVZhbHVlcxIMCgRmcW5zGAEgAygJQgoKCHJlc291cmNlIn0KEFJlc291cmNlRGVjaXNpb24SHQoVZXBoZW1lcmFsX3Jlc291cmNlX2lkGAEgASgJEiwKCGRlY2lzaW9uGAIgASgOMhouYXV0aG9yaXphdGlvbi52Mi5EZWNpc2lvbhIcChRyZXF1aXJlZF9vYmxpZ2F0aW9ucxgDIAMoCSKXBAoSR2V0RGVjaXNpb25SZXF1ZXN0EkUKEWVudGl0eV9pZGVudGlmaWVyGAEgASgLMiIuYXV0aG9yaXphdGlvbi52Mi5FbnRpdHlJZGVudGlmaWVyQga6SAPIAQESJgoGYWN0aW9uGAIgASgLMg4ucG9saWN5LkFjdGlvbkIGukgDyAEBEjQKCHJlc291cmNlGAMgASgLMhouYXV0aG9yaXphdGlvbi52Mi5SZXNvdXJjZUIGukgDyAEBEvQBChtmdWxmaWxsYWJsZV9vYmxpZ2F0aW9uX2ZxbnMYBCADKAlCzgG6SMoBugHGAQobb2JsaWdhdGlvbl92YWx1ZV9mcW5zX3ZhbGlkEl5pZiBwcm92aWRlZCwgZnVsZmlsbGFibGVfb2JsaWdhdGlvbl9mcW5zIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA1MCBpbiBjb3VudCB3aXRoIGFsbCB2YWxpZCBGUU5zGkd0aGlzLnNpemUoKSA9PSAwIHx8ICh0aGlzLnNpemUoKSA8PSA1MCAmJiB0aGlzLmFsbChpdGVtLCBpdGVtLmlzVXJpKCkpKTplukhiGmAKKWdldF9kZWNpc2lvbl9yZXF1ZXN0LmFjdGlvbl9uYW1lX3JlcXVpcmVkEhxhY3Rpb24ubmFtZSBtdXN0IGJlIHByb3ZpZGVkGhVoYXModGhpcy5hY3Rpb24ubmFtZSkiSwoTR2V0RGVjaXNpb25SZXNwb25zZRI0CghkZWNpc2lvbhgBIAEoCzIiLmF1dGhvcml6YXRpb24udjIuUmVzb3VyY2VEZWNpc2lvbiKwBAofR2V0RGVjaXNpb25NdWx0aVJlc291cmNlUmVxdWVzdBJFChFlbnRpdHlfaWRlbnRpZmllchgBIAEoCzIiLmF1dGhvcml6YXRpb24udjIuRW50aXR5SWRlbnRpZmllckIGukgDyAEBEiYKBmFjdGlvbhgCIAEoCzIOLnBvbGljeS5BY3Rpb25CBrpIA8gBARI6CglyZXNvdXJjZXMYAyADKAsyGi5hdXRob3JpemF0aW9uLnYyLlJlc291cmNlQgu6SAiSAQUIARDoBxL0AQobZnVsZmlsbGFibGVfb2JsaWdhdGlvbl9mcW5zGAQgAygJQs4BukjKAboBxgEKG29ibGlnYXRpb25fdmFsdWVfZnFuc192YWxpZBJeaWYgcHJvdmlkZWQsIGZ1bGZpbGxhYmxlX29ibGlnYXRpb25fZnFucyBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNTAgaW4gY291bnQgd2l0aCBhbGwgdmFsaWQgRlFOcxpHdGhpcy5zaXplKCkgPT0gMCB8fCAodGhpcy5zaXplKCkgPD0gNTAgJiYgdGhpcy5hbGwoaXRlbSwgaXRlbS5pc1VyaSgpKSk6a7pIaBpmCi9nZXRfZGVjaXNpb25fbXVsdGlfcmVxdWVzdC5hY3Rpb25fbmFtZV9yZXF1aXJlZBIcYWN0aW9uLm5hbWUgbXVzdCBiZSBwcm92aWRlZBoVaGFzKHRoaXMuYWN0aW9uLm5hbWUpIpUBCiBHZXREZWNpc2lvbk11bHRpUmVzb3VyY2VSZXNwb25zZRIxCg1hbGxfcGVybWl0dGVkGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZRI+ChJyZXNvdXJjZV9kZWNpc2lvbnMYAiADKAsyIi5hdXRob3JpemF0aW9uLnYyLlJlc291cmNlRGVjaXNpb24icwoWR2V0RGVjaXNpb25CdWxrUmVxdWVzdBJZChFkZWNpc2lvbl9yZXF1ZXN0cxgBIAMoCzIxLmF1dGhvcml6YXRpb24udjIuR2V0RGVjaXNpb25NdWx0aVJlc291cmNlUmVxdWVzdEILukgIkgEFCAEQyAEiaQoXR2V0RGVjaXNpb25CdWxrUmVzcG9uc2USTgoSZGVjaXNpb25fcmVzcG9uc2VzGAEgAygLMjIuYXV0aG9yaXphdGlvbi52Mi5HZXREZWNpc2lvbk11bHRpUmVzb3VyY2VSZXNwb25zZSKrAQoWR2V0RW50aXRsZW1lbnRzUmVxdWVzdBJFChFlbnRpdHlfaWRlbnRpZmllchgBIAEoCzIiLmF1dGhvcml6YXRpb24udjIuRW50aXR5SWRlbnRpZmllckIGukgDyAEBEikKHHdpdGhfY29tcHJlaGVuc2l2ZV9oaWVyYXJjaHkYAiABKAhIAIgBAUIfCh1fd2l0aF9jb21wcmVoZW5zaXZlX2hpZXJhcmNoeSJVChdHZXRFbnRpdGxlbWVudHNSZXNwb25zZRI6CgxlbnRpdGxlbWVudHMYASADKAsyJC5hdXRob3JpemF0aW9uLnYyLkVudGl0eUVudGl0bGVtZW50cypMCghEZWNpc2lvbhIYChRERUNJU0lPTl9VTlNQRUNJRklFRBAAEhEKDURFQ0lTSU9OX0RFTlkQARITCg9ERUNJU0lPTl9QRVJNSVQQAjLOAwoUQXV0aG9yaXphdGlvblNlcnZpY2USXAoLR2V0RGVjaXNpb24SJC5hdXRob3JpemF0aW9uLnYyLkdldERlY2lzaW9uUmVxdWVzdBolLmF1dGhvcml6YXRpb24udjIuR2V0RGVjaXNpb25SZXNwb25zZSIAEoMBChhHZXREZWNpc2lvbk11bHRpUmVzb3VyY2USMS5hdXRob3JpemF0aW9uLnYyLkdldERlY2lzaW9uTXVsdGlSZXNvdXJjZVJlcXVlc3QaMi5hdXRob3JpemF0aW9uLnYyLkdldERlY2lzaW9uTXVsdGlSZXNvdXJjZVJlc3BvbnNlIgASaAoPR2V0RGVjaXNpb25CdWxrEiguYXV0aG9yaXphdGlvbi52Mi5HZXREZWNpc2lvbkJ1bGtSZXF1ZXN0GikuYXV0aG9yaXphdGlvbi52Mi5HZXREZWNpc2lvbkJ1bGtSZXNwb25zZSIAEmgKD0dldEVudGl0bGVtZW50cxIoLmF1dGhvcml6YXRpb24udjIuR2V0RW50aXRsZW1lbnRzUmVxdWVzdBopLmF1dGhvcml6YXRpb24udjIuR2V0RW50aXRsZW1lbnRzUmVzcG9uc2UiAGIGcHJvdG8z", [file_buf_validate_validate, file_entity_entity, file_google_protobuf_wrappers, file_policy_objects]);
13
+ /**
14
+ * Describes the message authorization.v2.EntityIdentifier.
15
+ * Use `create(EntityIdentifierSchema)` to create a new message.
16
+ */
17
+ export const EntityIdentifierSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 0);
18
+ /**
19
+ * Describes the message authorization.v2.EntityEntitlements.
20
+ * Use `create(EntityEntitlementsSchema)` to create a new message.
21
+ */
22
+ export const EntityEntitlementsSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 1);
23
+ /**
24
+ * Describes the message authorization.v2.EntityEntitlements.ActionsList.
25
+ * Use `create(EntityEntitlements_ActionsListSchema)` to create a new message.
26
+ */
27
+ export const EntityEntitlements_ActionsListSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 1, 0);
28
+ /**
29
+ * Describes the message authorization.v2.Resource.
30
+ * Use `create(ResourceSchema)` to create a new message.
31
+ */
32
+ export const ResourceSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 2);
33
+ /**
34
+ * Describes the message authorization.v2.Resource.AttributeValues.
35
+ * Use `create(Resource_AttributeValuesSchema)` to create a new message.
36
+ */
37
+ export const Resource_AttributeValuesSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 2, 0);
38
+ /**
39
+ * Describes the message authorization.v2.ResourceDecision.
40
+ * Use `create(ResourceDecisionSchema)` to create a new message.
41
+ */
42
+ export const ResourceDecisionSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 3);
43
+ /**
44
+ * Describes the message authorization.v2.GetDecisionRequest.
45
+ * Use `create(GetDecisionRequestSchema)` to create a new message.
46
+ */
47
+ export const GetDecisionRequestSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 4);
48
+ /**
49
+ * Describes the message authorization.v2.GetDecisionResponse.
50
+ * Use `create(GetDecisionResponseSchema)` to create a new message.
51
+ */
52
+ export const GetDecisionResponseSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 5);
53
+ /**
54
+ * Describes the message authorization.v2.GetDecisionMultiResourceRequest.
55
+ * Use `create(GetDecisionMultiResourceRequestSchema)` to create a new message.
56
+ */
57
+ export const GetDecisionMultiResourceRequestSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 6);
58
+ /**
59
+ * Describes the message authorization.v2.GetDecisionMultiResourceResponse.
60
+ * Use `create(GetDecisionMultiResourceResponseSchema)` to create a new message.
61
+ */
62
+ export const GetDecisionMultiResourceResponseSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 7);
63
+ /**
64
+ * Describes the message authorization.v2.GetDecisionBulkRequest.
65
+ * Use `create(GetDecisionBulkRequestSchema)` to create a new message.
66
+ */
67
+ export const GetDecisionBulkRequestSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 8);
68
+ /**
69
+ * Describes the message authorization.v2.GetDecisionBulkResponse.
70
+ * Use `create(GetDecisionBulkResponseSchema)` to create a new message.
71
+ */
72
+ export const GetDecisionBulkResponseSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 9);
73
+ /**
74
+ * Describes the message authorization.v2.GetEntitlementsRequest.
75
+ * Use `create(GetEntitlementsRequestSchema)` to create a new message.
76
+ */
77
+ export const GetEntitlementsRequestSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 10);
78
+ /**
79
+ * Describes the message authorization.v2.GetEntitlementsResponse.
80
+ * Use `create(GetEntitlementsResponseSchema)` to create a new message.
81
+ */
82
+ export const GetEntitlementsResponseSchema = /*@__PURE__*/ messageDesc(file_authorization_v2_authorization, 11);
83
+ /**
84
+ * @generated from enum authorization.v2.Decision
85
+ */
86
+ export var Decision;
87
+ (function (Decision) {
88
+ /**
89
+ * @generated from enum value: DECISION_UNSPECIFIED = 0;
90
+ */
91
+ Decision[Decision["UNSPECIFIED"] = 0] = "UNSPECIFIED";
92
+ /**
93
+ * @generated from enum value: DECISION_DENY = 1;
94
+ */
95
+ Decision[Decision["DENY"] = 1] = "DENY";
96
+ /**
97
+ * @generated from enum value: DECISION_PERMIT = 2;
98
+ */
99
+ Decision[Decision["PERMIT"] = 2] = "PERMIT";
100
+ })(Decision || (Decision = {}));
101
+ /**
102
+ * Describes the enum authorization.v2.Decision.
103
+ */
104
+ export const DecisionSchema = /*@__PURE__*/ enumDesc(file_authorization_v2_authorization, 0);
105
+ /**
106
+ * @generated from service authorization.v2.AuthorizationService
107
+ */
108
+ export const AuthorizationService = /*@__PURE__*/ serviceDesc(file_authorization_v2_authorization, 0);
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbl9wYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9hdXRob3JpemF0aW9uL3YyL2F1dGhvcml6YXRpb25fcGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUZBQXFGO0FBQ3JGLHNHQUFzRztBQUN0RyxvQkFBb0I7QUFHcEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRS9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2pFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQVksYUFBYSxDQUN2RSxRQUFRLENBQUMsc2pLQUFzakssRUFBRSxDQUFDLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLDZCQUE2QixFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztBQWlEenFLOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFpQyxhQUFhLENBQy9FLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQXFCdEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQW1DLGFBQWEsQ0FDbkYsV0FBVyxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBWXREOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUErQyxhQUFhLENBQzNHLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFxQ3pEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBeUIsYUFBYSxDQUMvRCxXQUFXLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFZdEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQXlDLGFBQWEsQ0FDL0YsV0FBVyxDQUFDLG1DQUFtQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQTZCekQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQWlDLGFBQWEsQ0FDL0UsV0FBVyxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBeUN0RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBbUMsYUFBYSxDQUNuRixXQUFXLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFjdEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQW9DLGFBQWEsQ0FDckYsV0FBVyxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBMkN0RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBZ0QsYUFBYSxDQUM3RyxXQUFXLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFxQnREOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFpRCxhQUFhLENBQy9HLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQWlCdEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQXVDLGFBQWEsQ0FDM0YsV0FBVyxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBWXREOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUF3QyxhQUFhLENBQzdGLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQTJCdEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQXVDLGFBQWEsQ0FDM0YsV0FBVyxDQUFDLG1DQUFtQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBWXZEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUF3QyxhQUFhLENBQzdGLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUV2RDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLFFBZVg7QUFmRCxXQUFZLFFBQVE7SUFDbEI7O09BRUc7SUFDSCxxREFBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCx1Q0FBUSxDQUFBO0lBRVI7O09BRUc7SUFDSCwyQ0FBVSxDQUFBO0FBQ1osQ0FBQyxFQWZXLFFBQVEsS0FBUixRQUFRLFFBZW5CO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXNCLGFBQWEsQ0FDNUQsUUFBUSxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBaUM1QixhQUFhLENBQ2hCLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDLENBQUMsQ0FBQyJ9