@opentdf/sdk 0.13.0-beta.122 → 0.13.0-beta.124

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 (57) hide show
  1. package/README.md +60 -10
  2. package/dist/cjs/src/access/access-rpc.js +6 -5
  3. package/dist/cjs/src/access.js +18 -5
  4. package/dist/cjs/src/auth/interceptors.js +186 -0
  5. package/dist/cjs/src/auth/token-providers.js +247 -0
  6. package/dist/cjs/src/index.js +10 -2
  7. package/dist/cjs/src/opentdf.js +40 -32
  8. package/dist/cjs/src/platform.js +3 -46
  9. package/dist/cjs/src/policy/api.js +9 -5
  10. package/dist/cjs/src/policy/discovery.js +10 -9
  11. package/dist/cjs/tdf3/src/client/index.js +35 -17
  12. package/dist/cjs/tdf3/src/tdf.js +8 -7
  13. package/dist/types/src/access/access-rpc.d.ts +3 -3
  14. package/dist/types/src/access/access-rpc.d.ts.map +1 -1
  15. package/dist/types/src/access.d.ts +3 -3
  16. package/dist/types/src/access.d.ts.map +1 -1
  17. package/dist/types/src/auth/interceptors.d.ts +99 -0
  18. package/dist/types/src/auth/interceptors.d.ts.map +1 -0
  19. package/dist/types/src/auth/token-providers.d.ts +100 -0
  20. package/dist/types/src/auth/token-providers.d.ts.map +1 -0
  21. package/dist/types/src/index.d.ts +2 -0
  22. package/dist/types/src/index.d.ts.map +1 -1
  23. package/dist/types/src/opentdf.d.ts +18 -15
  24. package/dist/types/src/opentdf.d.ts.map +1 -1
  25. package/dist/types/src/platform.d.ts +6 -3
  26. package/dist/types/src/platform.d.ts.map +1 -1
  27. package/dist/types/src/policy/api.d.ts +3 -3
  28. package/dist/types/src/policy/api.d.ts.map +1 -1
  29. package/dist/types/src/policy/discovery.d.ts +5 -5
  30. package/dist/types/src/policy/discovery.d.ts.map +1 -1
  31. package/dist/types/tdf3/src/client/index.d.ts +10 -1
  32. package/dist/types/tdf3/src/client/index.d.ts.map +1 -1
  33. package/dist/types/tdf3/src/tdf.d.ts +5 -2
  34. package/dist/types/tdf3/src/tdf.d.ts.map +1 -1
  35. package/dist/web/src/access/access-rpc.js +6 -5
  36. package/dist/web/src/access.js +18 -5
  37. package/dist/web/src/auth/interceptors.js +142 -0
  38. package/dist/web/src/auth/token-providers.js +242 -0
  39. package/dist/web/src/index.js +3 -1
  40. package/dist/web/src/opentdf.js +40 -32
  41. package/dist/web/src/platform.js +3 -46
  42. package/dist/web/src/policy/api.js +9 -5
  43. package/dist/web/src/policy/discovery.js +10 -9
  44. package/dist/web/tdf3/src/client/index.js +35 -17
  45. package/dist/web/tdf3/src/tdf.js +8 -7
  46. package/package.json +1 -1
  47. package/src/access/access-rpc.ts +5 -5
  48. package/src/access.ts +29 -13
  49. package/src/auth/interceptors.ts +197 -0
  50. package/src/auth/token-providers.ts +303 -0
  51. package/src/index.ts +18 -0
  52. package/src/opentdf.ts +54 -34
  53. package/src/platform.ts +8 -52
  54. package/src/policy/api.ts +8 -5
  55. package/src/policy/discovery.ts +9 -9
  56. package/tdf3/src/client/index.ts +46 -17
  57. package/tdf3/src/tdf.ts +14 -11
@@ -6,6 +6,7 @@ exports.attributeExists = attributeExists;
6
6
  exports.attributeValueExists = attributeValueExists;
7
7
  const connect_1 = require("@connectrpc/connect");
8
8
  const errors_js_1 = require("../errors.js");
9
+ const interceptors_js_1 = require("../auth/interceptors.js");
9
10
  const utils_js_1 = require("../utils.js");
10
11
  const platform_js_1 = require("../platform.js");
11
12
  // Caps the pagination loop in listAttributes. 10 pages × 1000 records = 10,000
@@ -44,11 +45,11 @@ const ATTRIBUTE_FQN_RE = /^https?:\/\/[a-zA-Z0-9._~%-]+\/attr\/[a-zA-Z0-9._~%-]+
44
45
  * }
45
46
  * ```
46
47
  */
47
- async function listAttributes(platformUrl, authProvider, namespace) {
48
+ async function listAttributes(platformUrl, auth, namespace) {
48
49
  if (!(0, utils_js_1.validateSecureUrl)(platformUrl)) {
49
50
  throw new errors_js_1.ConfigurationError('platformUrl must use HTTPS protocol');
50
51
  }
51
- const platform = new platform_js_1.PlatformClient({ authProvider, platformUrl });
52
+ const platform = new platform_js_1.PlatformClient({ interceptors: (0, interceptors_js_1.resolveInterceptors)(auth), platformUrl });
52
53
  const result = [];
53
54
  let nextOffset = 0;
54
55
  for (let pages = 0; pages < MAX_LIST_ATTRIBUTES_PAGES; pages++) {
@@ -92,7 +93,7 @@ async function listAttributes(platformUrl, authProvider, namespace) {
92
93
  * // Safe to encrypt — all attributes confirmed present
93
94
  * ```
94
95
  */
95
- async function validateAttributes(platformUrl, authProvider, fqns) {
96
+ async function validateAttributes(platformUrl, auth, fqns) {
96
97
  if (!fqns || fqns.length === 0) {
97
98
  return;
98
99
  }
@@ -107,7 +108,7 @@ async function validateAttributes(platformUrl, authProvider, fqns) {
107
108
  throw new errors_js_1.ConfigurationError('invalid attribute value FQN format');
108
109
  }
109
110
  }
110
- const platform = new platform_js_1.PlatformClient({ authProvider, platformUrl });
111
+ const platform = new platform_js_1.PlatformClient({ interceptors: (0, interceptors_js_1.resolveInterceptors)(auth), platformUrl });
111
112
  let resp;
112
113
  try {
113
114
  resp = await platform.v1.attributes.getAttributeValuesByFqns({ fqns });
@@ -134,14 +135,14 @@ async function validateAttributes(platformUrl, authProvider, fqns) {
134
135
  * @throws {@link ConfigurationError} if the FQN format is invalid or the URL is insecure.
135
136
  * @throws {@link NetworkError} if a non-not-found service error occurs.
136
137
  */
137
- async function attributeExists(platformUrl, authProvider, attributeFqn) {
138
+ async function attributeExists(platformUrl, auth, attributeFqn) {
138
139
  if (!(0, utils_js_1.validateSecureUrl)(platformUrl)) {
139
140
  throw new errors_js_1.ConfigurationError('platformUrl must use HTTPS protocol');
140
141
  }
141
142
  if (!ATTRIBUTE_FQN_RE.test(attributeFqn)) {
142
143
  throw new errors_js_1.ConfigurationError('invalid attribute FQN format');
143
144
  }
144
- const platform = new platform_js_1.PlatformClient({ authProvider, platformUrl });
145
+ const platform = new platform_js_1.PlatformClient({ interceptors: (0, interceptors_js_1.resolveInterceptors)(auth), platformUrl });
145
146
  try {
146
147
  await platform.v1.attributes.getAttribute({
147
148
  identifier: { case: 'fqn', value: attributeFqn },
@@ -168,14 +169,14 @@ async function attributeExists(platformUrl, authProvider, attributeFqn) {
168
169
  * @throws {@link ConfigurationError} if the FQN format is invalid or the URL is insecure.
169
170
  * @throws {@link NetworkError} if a service error occurs.
170
171
  */
171
- async function attributeValueExists(platformUrl, authProvider, valueFqn) {
172
+ async function attributeValueExists(platformUrl, auth, valueFqn) {
172
173
  if (!(0, utils_js_1.validateSecureUrl)(platformUrl)) {
173
174
  throw new errors_js_1.ConfigurationError('platformUrl must use HTTPS protocol');
174
175
  }
175
176
  if (!ATTRIBUTE_VALUE_FQN_RE.test(valueFqn)) {
176
177
  throw new errors_js_1.ConfigurationError('invalid attribute value FQN format');
177
178
  }
178
- const platform = new platform_js_1.PlatformClient({ authProvider, platformUrl });
179
+ const platform = new platform_js_1.PlatformClient({ interceptors: (0, interceptors_js_1.resolveInterceptors)(auth), platformUrl });
179
180
  let resp;
180
181
  try {
181
182
  resp = await platform.v1.attributes.getAttributeValuesByFqns({ fqns: [valueFqn] });
@@ -185,4 +186,4 @@ async function attributeValueExists(platformUrl, authProvider, valueFqn) {
185
186
  }
186
187
  return valueFqn in resp.fqnAttributeValues;
187
188
  }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY292ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BvbGljeS9kaXNjb3ZlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpREEsd0NBaUNDO0FBd0JELGdEQXNDQztBQWVELDBDQXlCQztBQWVELG9EQXNCQztBQTdORCxpREFBeUQ7QUFDekQsNENBQXdGO0FBRXhGLDBDQUF3RTtBQUN4RSxnREFBZ0Q7QUFHaEQsK0VBQStFO0FBQy9FLGlGQUFpRjtBQUNqRix1RUFBdUU7QUFDdkUsTUFBTSx5QkFBeUIsR0FBRyxFQUFFLENBQUM7QUFFckMsMkVBQTJFO0FBQzNFLHNGQUFzRjtBQUN0RixNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQztBQUV2QyxnRkFBZ0Y7QUFDaEYsNkVBQTZFO0FBQzdFLGtFQUFrRTtBQUNsRSxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztBQUU5Qiw0RUFBNEU7QUFDNUUsNkVBQTZFO0FBQzdFLE1BQU0sc0JBQXNCLEdBQzFCLG9GQUFvRixDQUFDO0FBRXZGLG9GQUFvRjtBQUNwRiw2RUFBNkU7QUFDN0UsTUFBTSxnQkFBZ0IsR0FBRywwREFBMEQsQ0FBQztBQUVwRjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0ksS0FBSyxVQUFVLGNBQWMsQ0FDbEMsV0FBbUIsRUFDbkIsWUFBMEIsRUFDMUIsU0FBa0I7SUFFbEIsSUFBSSxDQUFDLElBQUEsNEJBQWlCLEVBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxNQUFNLElBQUksOEJBQWtCLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSw0QkFBYyxDQUFDLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkUsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUMvQixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFFbkIsS0FBSyxJQUFJLEtB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
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY292ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BvbGljeS9kaXNjb3ZlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpREEsd0NBaUNDO0FBd0JELGdEQXNDQztBQWVELDBDQXlCQztBQWVELG9EQXNCQztBQTdORCxpREFBeUQ7QUFDekQsNENBQXdGO0FBQ3hGLDZEQUErRTtBQUMvRSwwQ0FBd0U7QUFDeEUsZ0RBQWdEO0FBR2hELCtFQUErRTtBQUMvRSxpRkFBaUY7QUFDakYsdUVBQXVFO0FBQ3ZFLE1BQU0seUJBQXlCLEdBQUcsRUFBRSxDQUFDO0FBRXJDLDJFQUEyRTtBQUMzRSxzRkFBc0Y7QUFDdEYsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUM7QUFFdkMsZ0ZBQWdGO0FBQ2hGLDZFQUE2RTtBQUM3RSxrRUFBa0U7QUFDbEUsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFFOUIsNEVBQTRFO0FBQzVFLDZFQUE2RTtBQUM3RSxNQUFNLHNCQUFzQixHQUMxQixvRkFBb0YsQ0FBQztBQUV2RixvRkFBb0Y7QUFDcEYsNkVBQTZFO0FBQzdFLE1BQU0sZ0JBQWdCLEdBQUcsMERBQTBELENBQUM7QUFFcEY7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNJLEtBQUssVUFBVSxjQUFjLENBQ2xDLFdBQW1CLEVBQ25CLElBQWdCLEVBQ2hCLFNBQWtCO0lBRWxCLElBQUksQ0FBQyxJQUFBLDRCQUFpQixFQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLDhCQUFrQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLElBQUksNEJBQWMsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFBLHFDQUFtQixFQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUYsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUMv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
@@ -280,19 +280,20 @@ class Client {
280
280
  if (clientConfig.easEndpoint) {
281
281
  this.easEndpoint = clientConfig.easEndpoint;
282
282
  }
283
- this.authProvider = config.authProvider;
284
283
  this.clientConfig = clientConfig;
284
+ // Resolve auth once at the boundary. Internally, only `this.auth` is used.
285
+ let authProvider = config.authProvider;
285
286
  this.clientId = clientConfig.clientId;
286
- if (!this.authProvider) {
287
+ if (!authProvider && !config.interceptors?.length) {
287
288
  if (!clientConfig.clientId) {
288
- throw new errors_js_1.ConfigurationError('Client ID or custom AuthProvider must be defined');
289
+ throw new errors_js_1.ConfigurationError('Client ID, custom AuthProvider, or interceptors must be defined');
289
290
  }
290
291
  //Are we exchanging a refreshToken for a bearer token (normal AuthCode browser auth flow)?
291
292
  //If this is a browser context, we expect the caller to handle the initial
292
293
  //browser-based OIDC login and authentication process against the OIDC endpoint using their chosen method,
293
294
  //and provide us with a valid refresh token/clientId obtained from that process.
294
295
  if (clientConfig.refreshToken) {
295
- this.authProvider = new oidc_refreshtoken_provider_js_1.OIDCRefreshTokenProvider({
296
+ authProvider = new oidc_refreshtoken_provider_js_1.OIDCRefreshTokenProvider({
296
297
  clientId: clientConfig.clientId,
297
298
  refreshToken: clientConfig.refreshToken,
298
299
  oidcOrigin: clientConfig.oidcOrigin,
@@ -300,18 +301,32 @@ class Client {
300
301
  }
301
302
  else if (clientConfig.externalJwt) {
302
303
  //Are we exchanging a JWT previously issued by a trusted external entity (e.g. Google) for a bearer token?
303
- this.authProvider = new oidc_externaljwt_provider_js_1.OIDCExternalJwtProvider({
304
+ authProvider = new oidc_externaljwt_provider_js_1.OIDCExternalJwtProvider({
304
305
  clientId: clientConfig.clientId,
305
306
  externalJwt: clientConfig.externalJwt,
306
307
  oidcOrigin: clientConfig.oidcOrigin,
307
308
  }, this.cryptoService);
308
309
  }
309
310
  }
310
- this.dpopKeys = createSessionKeys({
311
- authProvider: this.authProvider,
312
- cryptoService: this.cryptoService,
313
- dpopKeys: clientConfig.dpopKeys,
314
- });
311
+ // Resolve to AuthConfig: interceptors take precedence over authProvider.
312
+ if (config.interceptors?.length) {
313
+ this.auth = { interceptors: config.interceptors };
314
+ }
315
+ else if (authProvider) {
316
+ this.auth = authProvider;
317
+ }
318
+ if (config.interceptors?.length && !authProvider) {
319
+ // Interceptor path: no updateClientPublicKey needed.
320
+ // Still need dpopKeys for request body signing (reqSignature).
321
+ this.dpopKeys = clientConfig.dpopKeys ?? this.cryptoService.generateSigningKeyPair();
322
+ }
323
+ else {
324
+ this.dpopKeys = createSessionKeys({
325
+ authProvider,
326
+ cryptoService: this.cryptoService,
327
+ dpopKeys: clientConfig.dpopKeys,
328
+ });
329
+ }
315
330
  }
316
331
  /** Necessary only for testing. A dependency-injection approach should be preferred, but that is difficult currently */
317
332
  _doFetchKasKeyWithCache(...params) {
@@ -380,7 +395,10 @@ class Client {
380
395
  if (!this.platformUrl) {
381
396
  throw new errors_js_1.ConfigurationError('platformUrl not set in TDF3 Client constructor');
382
397
  }
383
- const fetchedFQNValues = await (0, api_js_1.attributeFQNsAsValues)(this.platformUrl, this.authProvider, ...fqnsWithoutValues);
398
+ if (!this.auth) {
399
+ throw new errors_js_1.ConfigurationError('AuthProvider or interceptors required for autoconfigure');
400
+ }
401
+ const fetchedFQNValues = await (0, api_js_1.attributeFQNsAsValues)(this.platformUrl, this.auth, ...fqnsWithoutValues);
384
402
  fetchedFQNValues.forEach((fetchedValue) => {
385
403
  attributeValues.push(fetchedValue);
386
404
  });
@@ -505,7 +523,7 @@ class Client {
505
523
  contentStream: opts.source,
506
524
  mimeType,
507
525
  policy: policyObject,
508
- authProvider: this.authProvider,
526
+ auth: this.auth,
509
527
  progressHandler: this.clientConfig.progressHandler,
510
528
  keyForEncryption,
511
529
  keyForManifest,
@@ -529,15 +547,15 @@ class Client {
529
547
  */
530
548
  async decrypt({ source, allowList, keyMiddleware = async (key) => key, streamMiddleware = async (stream) => stream, assertionVerificationKeys, noVerifyAssertions, concurrencyLimit = 1, wrappingKeyAlgorithm, fulfillableObligationFQNs = [], }) {
531
549
  const dpopKeys = await this.dpopKeys;
532
- if (!this.authProvider) {
533
- throw new errors_js_1.ConfigurationError('AuthProvider missing');
550
+ if (!this.auth) {
551
+ throw new errors_js_1.ConfigurationError('AuthProvider or interceptors missing');
534
552
  }
535
553
  const chunker = await makeChunkable(source);
536
554
  if (!allowList && this.allowedKases) {
537
555
  allowList = this.allowedKases;
538
556
  }
539
557
  else if (this.platformUrl) {
540
- allowList = await (0, access_js_1.fetchKeyAccessServers)(this.platformUrl, this.authProvider);
558
+ allowList = await (0, access_js_1.fetchKeyAccessServers)(this.platformUrl, this.auth);
541
559
  }
542
560
  else {
543
561
  throw new errors_js_1.ConfigurationError('platformUrl is required when allowedKases is empty');
@@ -550,7 +568,7 @@ class Client {
550
568
  // TODO: Write error event to stream and don't await.
551
569
  return await streamMiddleware(await (0, tdf_js_1.readStream)({
552
570
  allowList,
553
- authProvider: this.authProvider,
571
+ auth: this.auth,
554
572
  chunker,
555
573
  concurrencyLimit,
556
574
  cryptoService: this.cryptoService,
@@ -588,4 +606,4 @@ class Client {
588
606
  }
589
607
  }
590
608
  exports.Client = Client;
591
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZGYzL3NyYy9jbGllbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUtBLDhDQXVCQztBQXFDRCw0Q0FxQkM7QUExUEQsK0JBQTBCO0FBQzFCLGdEQUkyQjtBQUMzQiw4REFBeUQ7QUFDekQsc0NBUW1CO0FBQ25CLGtEQUFnRDtBQUNoRCxtR0FBMkY7QUFDM0YsaUdBQXlGO0FBRXpGLHVEQUF3RjtBQXV6QnBCLDRGQXZ6QnhDLHFCQUFXLE9BdXpCd0M7QUFBRSw0RkF2ekJ4QyxxQkFBVyxPQXV6QndDO0FBdHpCNUYsb0RBQWlHO0FBRWpHLCtDQVd1QjtBQXl5QmQscUdBbHpCUCxrQ0FBb0IsT0FrekJPO0FBQWlCLHFHQTV5QjVDLGtDQUFvQixPQTR5QjRDO0FBdnlCbEUsc0RBSWdDO0FBQ2hDLHNEQUE0RDtBQUM1RCxvRUFBNEQ7QUFFNUQseUVBQTJEO0FBQzNELGlEQUs0QjtBQUM1QiwrREFBc0Q7QUFDdEQsdURBQW1FO0FBQ25FLDBEQUFnRjtBQUNoRiw4RUFBcUY7QUFDckYsaUVBQW1FO0FBRW5FLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsc0JBQXNCO0FBRXpFLHVFQUF1RTtBQUN2RSxNQUFNLG1CQUFtQixHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztBQUVwRixNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBRSxPQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVuRyxLQUFLLFVBQVUsZ0JBQWdCLENBQUMsR0FBVyxFQUFFLGFB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
609
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZGYzL3NyYy9jbGllbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOEtBLDhDQXVCQztBQXFDRCw0Q0FxQkM7QUEvUEQsK0JBQTBCO0FBQzFCLGdEQUkyQjtBQUMzQiw4REFBeUQ7QUFDekQsc0NBUW1CO0FBQ25CLGtEQUFnRDtBQUNoRCxtR0FBMkY7QUFDM0YsaUdBQXlGO0FBRXpGLHVEQUF3RjtBQW8xQnBCLDRGQXAxQnhDLHFCQUFXLE9BbzFCd0M7QUFBRSw0RkFwMUJ4QyxxQkFBVyxPQW8xQndDO0FBajFCNUYsb0RBQWlHO0FBRWpHLCtDQVd1QjtBQW8wQmQscUdBNzBCUCxrQ0FBb0IsT0E2MEJPO0FBQWlCLHFHQXYwQjVDLGtDQUFvQixPQXUwQjRDO0FBbDBCbEUsc0RBSWdDO0FBQ2hDLHNEQUE0RDtBQUM1RCxvRUFBNEQ7QUFFNUQseUVBQTJEO0FBQzNELGlEQUs0QjtBQUM1QiwrREFBc0Q7QUFDdEQsdURBQW1FO0FBQ25FLDBEQUFnRjtBQUNoRiw4RUFBcUY7QUFDckYsaUVBQW1FO0FBRW5FLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsc0JBQXNCO0FBRXpFLHVFQUF1RTtBQUN2RSxNQUFNLG1CQUFtQixHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztBQUVwRixNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBRSxPQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVuRyxLQUFLLFVBQVUsZ0JBQWdCLENBQUMsR0FBVyxFQUFFLGFB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
@@ -204,7 +204,7 @@ function isTargetSpecLegacyTDF(targetSpecVersion) {
204
204
  return targetSpecVersion === HEX_SEMVER_VERSION;
205
205
  }
206
206
  async function writeStream(cfg) {
207
- if (!cfg.authProvider) {
207
+ if (!cfg.auth) {
208
208
  throw new errors_js_1.ConfigurationError('No authorization middleware defined');
209
209
  }
210
210
  if (!cfg.contentStream) {
@@ -447,10 +447,11 @@ function splitLookupTableFactory(keyAccess, allowedKases) {
447
447
  }
448
448
  return splitPotentials;
449
449
  }
450
- async function unwrapKey({ manifest, allowedKases, authProvider, dpopKeys, concurrencyLimit, cryptoService, wrappingKeyAlgorithm, fulfillableObligations, }) {
451
- if (authProvider === undefined) {
452
- throw new errors_js_1.ConfigurationError('rewrap requires auth provider; must be configured in client constructor');
450
+ async function unwrapKey({ manifest, allowedKases, auth, dpopKeys, concurrencyLimit, cryptoService, wrappingKeyAlgorithm, fulfillableObligations, }) {
451
+ if (!auth) {
452
+ throw new errors_js_1.ConfigurationError('rewrap requires auth; must be configured in client constructor');
453
453
  }
454
+ const resolvedAuth = auth;
454
455
  const { keyAccess } = manifest.encryptionInformation;
455
456
  const splitPotentials = splitLookupTableFactory(keyAccess, allowedKases);
456
457
  async function tryKasRewrap(keySplitInfo) {
@@ -512,7 +513,7 @@ async function unwrapKey({ manifest, allowedKases, authProvider, dpopKeys, concu
512
513
  const requestBodyStr = (0, protobuf_1.toJsonString)(kas_pb_js_1.UnsignedRewrapRequestSchema, unsignedRequest);
513
514
  const jwtPayload = { requestBody: requestBodyStr };
514
515
  const signedRequestToken = await (0, auth_js_1.reqSignature)(jwtPayload, dpopKeys.privateKey, cryptoService);
515
- const rewrapResp = await (0, access_js_1.fetchWrappedKey)(url, signedRequestToken, authProvider, fulfillableObligations);
516
+ const rewrapResp = await (0, access_js_1.fetchWrappedKey)(url, signedRequestToken, resolvedAuth, fulfillableObligations);
516
517
  // Upgrade V1 response to V2 format if needed
517
518
  (0, utils_js_1.upgradeRewrapResponseV1)(rewrapResp);
518
519
  const { sessionPublicKey } = rewrapResp;
@@ -716,7 +717,7 @@ async function decryptStreamFrom(cfg, { manifest, zipReader, centralDirectory })
716
717
  const { metadata, reconstructedKey, requiredObligations } = await unwrapKey({
717
718
  fulfillableObligations: cfg.fulfillableObligations,
718
719
  manifest,
719
- authProvider: cfg.authProvider,
720
+ auth: cfg.auth,
720
721
  allowedKases: allowList,
721
722
  dpopKeys: cfg.dpopKeys,
722
723
  cryptoService: cfg.cryptoService,
@@ -808,4 +809,4 @@ async function concatenateUint8Array(uint8arrays) {
808
809
  const buffer = await blob.arrayBuffer();
809
810
  return new Uint8Array(buffer);
810
811
  }
811
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGRmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGRmMy9zcmMvdGRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNk1BLDhDQVlDO0FBRUQsMERBU0M7QUFlRCx3Q0FvQ0M7QUFFRCxvREFZQztBQStFRCxrQ0FvVEM7QUFTRCxzQ0FLQztBQUVELDBEQWdDQztBQTRVRCwwQ0FrREM7QUFFRCxnQ0FHQztBQUVELDhDQWdLQztBQTd2Q0QsbURBTzZCO0FBQzdCLGlEQUEwRDtBQUMxRCxnRUFNMEM7QUFDMUMsb0RBQXlFO0FBQ3pFLGtFQUE0RTtBQUM1RSw2REFBNEQ7QUFDNUQsMkRBQTJEO0FBQzNELG1EQVE2QjtBQUU3QixxREFBc0Q7QUFFdEQsNERBQThDO0FBQzlDLDJDQUFxQztBQUNyQyxtRUFBMkQ7QUFHM0Qsb0ZBQThFO0FBTzlFLGlEQUFnRDtBQUNoRCxnREFXMkI7QUFDM0IsNkRBQW1EO0FBQ25ELCtDQUFtRjtBQUVuRiw4Q0FBK0M7QUFFL0MsaURBSTRCO0FBRTVCLDBDQUEwQztBQUMxQyxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFekMsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUM7QUErQ25DLFNBQVMsT0FBTztJQUNkLElBQUksR0FBdUIsQ0FBQztJQUM1QixJQUFJLE1BQThCLENBQUM7SUFFbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDbkQsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNkLE1BQU0sR0FBRyxRQUFRLENBQUM7SUFDcEIsQ0FBQyxDQUFlLENBQUM7SUFFakIsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFJLENBQUM7SUFDbkIsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFPLENBQUM7SUFFekIsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FB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
812
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGRmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGRmMy9zcmMvdGRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ05BLDhDQVlDO0FBRUQsMERBU0M7QUFlRCx3Q0FvQ0M7QUFFRCxvREFZQztBQStFRCxrQ0FvVEM7QUFTRCxzQ0FLQztBQUVELDBEQWdDQztBQTRVRCwwQ0FrREM7QUFFRCxnQ0FHQztBQUVELDhDQWdLQztBQWh3Q0QsbURBTzZCO0FBQzdCLGlEQUEwRDtBQUMxRCxnRUFNMEM7QUFDMUMsb0RBQXlFO0FBRXpFLGtFQUE0RTtBQUM1RSw2REFBNEQ7QUFDNUQsMkRBQTJEO0FBQzNELG1EQVE2QjtBQUU3QixxREFBc0Q7QUFFdEQsNERBQThDO0FBQzlDLDJDQUFxQztBQUNyQyxtRUFBMkQ7QUFHM0Qsb0ZBQThFO0FBTzlFLGlEQUFnRDtBQUNoRCxnREFXMkI7QUFDM0IsNkRBQW1EO0FBQ25ELCtDQUFtRjtBQUVuRiw4Q0FBK0M7QUFFL0MsaURBSTRCO0FBRTVCLDBDQUEwQztBQUMxQyxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFekMsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUM7QUErQ25DLFNBQVMsT0FBTztJQUNkLElBQUksR0FBdUIsQ0FBQztJQUM1QixJQUFJLE1BQThCLENBQUM7SUFFbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDbkQsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNkLE1BQU0sR0FBRyxRQUFRLENBQUM7SUFDcEIsQ0FBQyxDQUFlLENBQUM7SUFFakIsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFJLENBQUM7SUFDbkIsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFPLENBQUM7SUFFekIsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FB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
@@ -1,5 +1,5 @@
1
1
  import { KasPublicKeyAlgorithm, KasPublicKeyInfo, OriginAllowList } from '../access.js';
2
- import { type AuthProvider } from '../auth/auth.js';
2
+ import { type AuthConfig } from '../auth/interceptors.js';
3
3
  import { RewrapResponse } from '../platform/kas/kas_pb.js';
4
4
  /**
5
5
  * Get a rewrapped access key to the document, if possible
@@ -9,10 +9,10 @@ import { RewrapResponse } from '../platform/kas/kas_pb.js';
9
9
  * @param rewrapAdditionalContextHeader optional value for 'X-Rewrap-Additional-Context'
10
10
  * @param clientVersion
11
11
  */
12
- export declare function fetchWrappedKey(url: string, signedRequestToken: string, authProvider: AuthProvider, rewrapAdditionalContextHeader?: string): Promise<RewrapResponse>;
12
+ export declare function fetchWrappedKey(url: string, signedRequestToken: string, auth: AuthConfig, rewrapAdditionalContextHeader?: string): Promise<RewrapResponse>;
13
13
  export declare function handleRpcRewrapError(e: unknown, platformUrl: string): never;
14
14
  export declare function handleRpcRewrapErrorString(e: string, platformUrl: string, requiredObligations?: string[]): never;
15
- export declare function fetchKeyAccessServers(platformUrl: string, authProvider: AuthProvider): Promise<OriginAllowList>;
15
+ export declare function fetchKeyAccessServers(platformUrl: string, auth: AuthConfig): Promise<OriginAllowList>;
16
16
  export declare function fetchKasPubKey(kasEndpoint: string, algorithm?: KasPublicKeyAlgorithm): Promise<KasPublicKeyInfo>;
17
17
  /**
18
18
  * Fetch the base public key from WellKnownConfiguration of the platform.
@@ -1 +1 @@
1
- {"version":3,"file":"access-rpc.d.ts","sourceRoot":"","sources":["../../../../src/access/access-rpc.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAUpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,YAAY,EAC1B,6BAA6B,CAAC,EAAE,MAAM,GACrC,OAAO,CAAC,cAAc,CAAC,CAgBzB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK,CAwB3E;AAED,wBAAgB,0BAA0B,CACxC,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAC7B,KAAK,CA8BP;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,eAAe,CAAC,CA8B1B;AA2BD,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,qBAAqB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CA0B3B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6BvF"}
1
+ {"version":3,"file":"access-rpc.d.ts","sourceRoot":"","sources":["../../../../src/access/access-rpc.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,UAAU,EAAuB,MAAM,yBAAyB,CAAC;AAU/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,EAC1B,IAAI,EAAE,UAAU,EAChB,6BAA6B,CAAC,EAAE,MAAM,GACrC,OAAO,CAAC,cAAc,CAAC,CAgBzB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK,CAwB3E;AAED,wBAAgB,0BAA0B,CACxC,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAC7B,KAAK,CA8BP;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,eAAe,CAAC,CA8B1B;AA2BD,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,qBAAqB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CA0B3B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6BvF"}
@@ -1,4 +1,4 @@
1
- import { type AuthProvider } from './auth/auth.js';
1
+ import { type AuthConfig } from './auth/interceptors.js';
2
2
  import { RewrapResponse } from './platform/kas/kas_pb.js';
3
3
  /**
4
4
  * Header value structure for 'X-Rewrap-Additional-Context`
@@ -19,7 +19,7 @@ export type RewrapRequest = {
19
19
  * @param fulfillableObligationFQNs client-configured list of obligation value FQNs that can be fulfilled in this PEP
20
20
  * @param clientVersion
21
21
  */
22
- export declare function fetchWrappedKey(url: string, signedRequestToken: string, authProvider: AuthProvider, fulfillableObligationFQNs: string[]): Promise<RewrapResponse>;
22
+ export declare function fetchWrappedKey(url: string, signedRequestToken: string, auth: AuthConfig, fulfillableObligationFQNs: string[]): Promise<RewrapResponse>;
23
23
  /**
24
24
  * Transform fulfillable, fully-qualified obligations into the expected KAS Rewrap 'X-Rewrap-Additional-Context' header value.
25
25
  * @param fulfillableObligationValueFQNs
@@ -49,7 +49,7 @@ export type KasPublicKeyInfo = {
49
49
  * @param authProvider The authentication provider to use for the request.
50
50
  * @returns A promise that resolves to an OriginAllowList.
51
51
  */
52
- export declare function fetchKeyAccessServers(platformUrl: string, authProvider: AuthProvider): Promise<OriginAllowList>;
52
+ export declare function fetchKeyAccessServers(platformUrl: string, auth: AuthConfig): Promise<OriginAllowList>;
53
53
  /**
54
54
  * Fetch the EC (secp256r1) public key for a KAS endpoint.
55
55
  * @param kasEndpoint The KAS endpoint URL.
@@ -1 +1 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAc1D;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE;QACX,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,YAAY,EAC1B,yBAAyB,EAAE,MAAM,EAAE,GAClC,OAAO,CAAC,cAAc,CAAC,CAoBzB;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,gCAAgC,MAAM,EAAE,KACvC,MAAM,GAAG,SASX,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,cAAc,GACd,cAAc,GACd,cAAc,GACd,UAAU,GACV,UAAU,CAAC;AAEf,eAAO,MAAM,oBAAoB,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,qBAErD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,GAAG,SAAS,KAAG,qBA8B/D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,GAAG,qBAAqB,KAAG,MAelE,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IAEZ,2DAA2D;IAC3D,SAAS,EAAE,qBAAqB,CAAC;IAEjC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAErF;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,qBAAqB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAW3B;AAWD;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;gBACN,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO;IAK9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAM7B"}
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAc1D;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE;QACX,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,EAC1B,IAAI,EAAE,UAAU,EAChB,yBAAyB,EAAE,MAAM,EAAE,GAClC,OAAO,CAAC,cAAc,CAAC,CA6BzB;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,gCAAgC,MAAM,EAAE,KACvC,MAAM,GAAG,SASX,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,cAAc,GACd,cAAc,GACd,cAAc,GACd,UAAU,GACV,UAAU,CAAC;AAEf,eAAO,MAAM,oBAAoB,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,qBAErD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,GAAG,SAAS,KAAG,qBA8B/D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,GAAG,qBAAqB,KAAG,MAelE,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IAEZ,2DAA2D;IAC3D,SAAS,EAAE,qBAAqB,CAAC;IAEjC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,eAAe,CAAC,CAY1B;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAErF;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,qBAAqB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAW3B;AAWD;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;gBACN,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO;IAK9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAM7B"}