@ductape/sdk 0.1.20 → 0.1.21

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 (79) hide show
  1. package/dist/agents/agents.service.d.ts +2 -0
  2. package/dist/agents/agents.service.js +26 -3
  3. package/dist/agents/agents.service.js.map +1 -1
  4. package/dist/api/services/logsApi.service.js +5 -1
  5. package/dist/api/services/logsApi.service.js.map +1 -1
  6. package/dist/api/services/productsApi.service.d.ts +111 -0
  7. package/dist/api/services/productsApi.service.js +90 -0
  8. package/dist/api/services/productsApi.service.js.map +1 -1
  9. package/dist/api/urls.d.ts +7 -0
  10. package/dist/api/urls.js +14 -7
  11. package/dist/api/urls.js.map +1 -1
  12. package/dist/apps/services/app.service.js +7 -2
  13. package/dist/apps/services/app.service.js.map +1 -1
  14. package/dist/brokers/brokers.service.js +20 -12
  15. package/dist/brokers/brokers.service.js.map +1 -1
  16. package/dist/database/adapters/mysql.adapter.js +8 -3
  17. package/dist/database/adapters/mysql.adapter.js.map +1 -1
  18. package/dist/database/adapters/postgresql.adapter.js +6 -2
  19. package/dist/database/adapters/postgresql.adapter.js.map +1 -1
  20. package/dist/database/databases.service.d.ts +10 -1
  21. package/dist/database/databases.service.js +84 -27
  22. package/dist/database/databases.service.js.map +1 -1
  23. package/dist/graph/graphs.service.d.ts +7 -3
  24. package/dist/graph/graphs.service.js +67 -31
  25. package/dist/graph/graphs.service.js.map +1 -1
  26. package/dist/index.d.ts +9 -2
  27. package/dist/index.js +32 -93
  28. package/dist/index.js.map +1 -1
  29. package/dist/logs/logs.service.d.ts +3 -1
  30. package/dist/logs/logs.service.js +12 -2
  31. package/dist/logs/logs.service.js.map +1 -1
  32. package/dist/logs/logs.types.d.ts +4 -0
  33. package/dist/logs/logs.types.js.map +1 -1
  34. package/dist/notifications/notifications.service.d.ts +6 -0
  35. package/dist/notifications/notifications.service.js +54 -17
  36. package/dist/notifications/notifications.service.js.map +1 -1
  37. package/dist/processor/services/processor.service.d.ts +0 -14
  38. package/dist/processor/services/processor.service.js +6 -72
  39. package/dist/processor/services/processor.service.js.map +1 -1
  40. package/dist/products/bootstrap-cache.d.ts +22 -0
  41. package/dist/products/bootstrap-cache.js +78 -0
  42. package/dist/products/bootstrap-cache.js.map +1 -0
  43. package/dist/products/services/products.service.d.ts +46 -3
  44. package/dist/products/services/products.service.js +304 -125
  45. package/dist/products/services/products.service.js.map +1 -1
  46. package/dist/products/validators/joi-validators/create.productFallback.validator.js +1 -1
  47. package/dist/products/validators/joi-validators/create.productGraph.validator.js +7 -0
  48. package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -1
  49. package/dist/products/validators/joi-validators/create.productQuota.validator.js +1 -1
  50. package/dist/products/validators/joi-validators/create.productVector.validator.js +6 -0
  51. package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -1
  52. package/dist/products/validators/joi-validators/update.productFallback.validator.js +1 -1
  53. package/dist/products/validators/joi-validators/update.productGraph.validator.js +9 -0
  54. package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -1
  55. package/dist/products/validators/joi-validators/update.productQuota.validator.js +1 -1
  56. package/dist/resilience/fallback.service.d.ts +3 -0
  57. package/dist/resilience/fallback.service.js +49 -14
  58. package/dist/resilience/fallback.service.js.map +1 -1
  59. package/dist/resilience/healthcheck.service.d.ts +3 -0
  60. package/dist/resilience/healthcheck.service.js +57 -7
  61. package/dist/resilience/healthcheck.service.js.map +1 -1
  62. package/dist/resilience/quota.service.d.ts +3 -0
  63. package/dist/resilience/quota.service.js +49 -14
  64. package/dist/resilience/quota.service.js.map +1 -1
  65. package/dist/resilience/resilience-execution.utils.d.ts +22 -0
  66. package/dist/resilience/resilience-execution.utils.js +81 -0
  67. package/dist/resilience/resilience-execution.utils.js.map +1 -0
  68. package/dist/sessions/sessions.service.d.ts +9 -1
  69. package/dist/sessions/sessions.service.js +125 -49
  70. package/dist/sessions/sessions.service.js.map +1 -1
  71. package/dist/types/index.types.d.ts +8 -0
  72. package/dist/types/index.types.js.map +1 -1
  73. package/dist/types/processor.types.d.ts +3 -0
  74. package/dist/types/processor.types.js.map +1 -1
  75. package/dist/types/requests.types.d.ts +4 -0
  76. package/dist/vector/vector-database.service.d.ts +6 -0
  77. package/dist/vector/vector-database.service.js +66 -8
  78. package/dist/vector/vector-database.service.js.map +1 -1
  79. package/package.json +3 -1
@@ -16,6 +16,7 @@ const products_service_1 = __importDefault(require("../products/services/product
16
16
  const processor_service_1 = __importDefault(require("../processor/services/processor.service"));
17
17
  const runtime_defaults_1 = require("../runtime/runtime-defaults");
18
18
  const resilience_mapping_utils_1 = require("./resilience-mapping.utils");
19
+ const resilience_execution_utils_1 = require("./resilience-execution.utils");
19
20
  /**
20
21
  * Error class for quota operations
21
22
  */
@@ -294,6 +295,43 @@ class QuotaService {
294
295
  /**
295
296
  * Gets or creates a cached ProductBuilder
296
297
  */
298
+ createNewProductBuilder() {
299
+ return new products_service_1.default({
300
+ workspace_id: this.config.workspace_id,
301
+ public_key: this.config.public_key,
302
+ user_id: this.config.user_id,
303
+ token: this.config.token,
304
+ env_type: this.config.env_type,
305
+ redis_client: this.config.redis_client,
306
+ queues: this.config.queues,
307
+ access_key: this.config.access_key,
308
+ });
309
+ }
310
+ getOrCreateProductBuilder(productTag) {
311
+ let builder = this.productBuilders.get(productTag);
312
+ if (!builder) {
313
+ builder = this.createNewProductBuilder();
314
+ this.productBuilders.set(productTag, builder);
315
+ }
316
+ return builder;
317
+ }
318
+ async bootstrapQuotaForRun(product, env, tag) {
319
+ var _a;
320
+ const builder = this.getOrCreateProductBuilder(product);
321
+ const boot = await builder.bootstrapResilience({
322
+ product_tag: product,
323
+ env_slug: env,
324
+ component_type: 'quota',
325
+ component_tag: tag,
326
+ });
327
+ if ((_a = boot.private_key) === null || _a === void 0 ? void 0 : _a.trim()) {
328
+ this._privateKey = boot.private_key;
329
+ }
330
+ if (!(boot === null || boot === void 0 ? void 0 : boot.component)) {
331
+ throw new QuotaError(`Quota '${tag}' not found in product '${product}'`, 'QUOTA_NOT_FOUND');
332
+ }
333
+ return boot.component;
334
+ }
297
335
  async getProductBuilder(productTag) {
298
336
  let builder = this.productBuilders.get(productTag);
299
337
  if (!builder) {
@@ -404,11 +442,7 @@ class QuotaService {
404
442
  var _a;
405
443
  const { product, env, tag, input } = this.resolvePE(options);
406
444
  const startTime = Date.now();
407
- // Fetch quota config
408
- const quota = await this.fetch(product, tag);
409
- if (!quota) {
410
- throw new QuotaError(`Quota '${tag}' not found in product '${product}'`, 'QUOTA_NOT_FOUND');
411
- }
445
+ const quota = await this.bootstrapQuotaForRun(product, env, tag);
412
446
  if (!((_a = quota.options) === null || _a === void 0 ? void 0 : _a.length)) {
413
447
  throw new QuotaError(`Quota '${tag}' has no providers configured`, 'NO_PROVIDERS');
414
448
  }
@@ -511,15 +545,16 @@ class QuotaService {
511
545
  let retriesUsed = 0;
512
546
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
513
547
  try {
514
- // Execute app action via processor
515
- const raw = await processor.processAction({
516
- env,
517
- product,
518
- app: provider.app,
519
- action: provider.event,
520
- input: (0, resilience_mapping_utils_1.applyResilienceInputMapping)(provider.input, input),
521
- retries: 0, // We handle retries
522
- });
548
+ const raw = await (0, resilience_execution_utils_1.executeResilienceProvider)(processor, {
549
+ workspace_id: this.config.workspace_id,
550
+ public_key: this.config.public_key,
551
+ user_id: this.config.user_id,
552
+ token: this.config.token,
553
+ env_type: this.config.env_type,
554
+ private_key: this._privateKey,
555
+ access_key: this.config.access_key,
556
+ redis_client: this.config.redis_client,
557
+ }, provider, env, product, input);
523
558
  const data = (0, resilience_mapping_utils_1.applyResilienceMapping)(provider.output, input, raw);
524
559
  return { data, retriesUsed };
525
560
  }
@@ -1 +1 @@
1
- {"version":3,"file":"quota.service.js","sourceRoot":"","sources":["../../src/resilience/quota.service.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAEH,mCAeiB;AAGjB,6FAAmE;AACnE,gGAAuE;AACvE,kEAA4F;AAC5F,yEAAiG;AAEjG;;GAEG;AACH,MAAa,UAAW,SAAQ,KAAK;IACnC,YACE,OAAe,EACR,IAAY,EACZ,OAAiB;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AATD,gCASC;AAsBD,+EAA+E;AAC/E,0CAA0C;AAC1C,+EAA+E;AAE/E,MAAM,2BAA2B;IAC/B,YACU,MAAwC,EACxC,MAAc;QADd,WAAM,GAAN,MAAM,CAAkC;QACxC,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAa,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrF,WAAW,CAAC,GAAW,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,GAAG,CAAC,GAAW,IAAiC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAW,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,QAAQ,CAAC,GAAW,IAAsC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,QAAQ,CAAC,GAAW,IAAsC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,YAAY,CAAC,GAAW,IAA0C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzG,QAAQ,CAAC,MAAkD,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/H,SAAS,CAAC,MAAsD,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrI,OAAO,CAAC,KAAa,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAU,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC9F;AAED,MAAM,gCAAgC;IACpC,YACU,MAAwC,EACxC,WAAmB;QADnB,WAAM,GAAN,MAAM,CAAkC;QACxC,gBAAW,GAAX,WAAW,CAAQ;IAC1B,CAAC;IAEJ,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAa,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrF,WAAW,CAAC,GAAW,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,GAAG,CAAC,GAAW,IAAiC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAW,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,QAAQ,CAAC,GAAW,IAAsC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,QAAQ,CAAC,GAAW,IAAsC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,YAAY,CAAC,GAAW,IAA0C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzG,QAAQ,CAAC,MAAkD,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/H,SAAS,CAAC,MAAsD,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrI,OAAO,CAAC,KAAa,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAU,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC9F;AAED,MAAM,gCAAgC;IACpC,YACU,MAAwC,EAChD,WAAmB;QADX,WAAM,GAAN,MAAM,CAAkC;QAGhD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,IAA6B;QACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAa,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrF,WAAW,CAAC,GAAW,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,GAAG,CAAC,GAAW,IAAiC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAW,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,QAAQ,CAAC,GAAW,IAAsC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,QAAQ,CAAC,GAAW,IAAsC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,YAAY,CAAC,GAAW,IAA0C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzG,QAAQ,CAAC,MAAkD,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/H,SAAS,CAAC,MAAsD,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrI,OAAO,CAAC,KAAa,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAU,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC9F;AAED,MAAM,oCAAoC;IACxC,YACU,MAAwC,EAChD,eAAuB;QADf,WAAM,GAAN,MAAM,CAAkC;QAGhD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,UAAkB;QACxB,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,QAAgB;QACpB,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAa,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrF,WAAW,CAAC,GAAW,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,GAAG,CAAC,GAAW,IAAiC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAW,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,QAAQ,CAAC,GAAW,IAAsC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,QAAQ,CAAC,GAAW,IAAsC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,YAAY,CAAC,GAAW,IAA0C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzG,QAAQ,CAAC,MAAkD,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/H,SAAS,CAAC,MAAsD,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrI,OAAO,CAAC,KAAa,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAU,IAA8B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC9F;AAED;;GAEG;AACH,MAAM,wBAAwB;IAY5B,YACU,YAAoB,EACpB,OAAuB;QADvB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAgB;QAbzB,YAAO,GAAW,CAAC,CAAC;QAIpB,aAAQ,GAAW,CAAC,CAAC;QAKrB,eAAU,GAAG,KAAK,CAAC;IAKxB,CAAC;IAEJ,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,OAAO,IAAI,2BAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,gCAAgC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,gCAAgC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,oCAAoC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,QAAQ,CAAC,MAAkD;QACzD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,MAAsD;QAC9D,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,KAAa;QACrC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,iBAAiB,CAAC,SAAiB,EAAE,KAAa;QAChD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,gBAAgB,CAAC,KAA8B;QAC7C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,eAAe,CAAC,aAAqB,IAAS,CAAC;IAE/C,sBAAsB,CAAC,QAAgB,IAAS,CAAC;IAEjD,oBAAoB,CAAC,KAAa;QAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,QAAQ;;QACN,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEjD,MAAM,MAAM,GAAiB;YAC3B,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,IAAI,EAAE,yBAAiB,CAAC,MAAM;YAC9B,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACxB,KAAK,EAAE,MAAA,IAAI,CAAC,cAAc,mCAAI,WAAW;YACzC,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAY,EAAE;YACpC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;SACnF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,KAAe,CAAC,CAAC;QAC5C,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;YAC1B,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,qBAAqB;IAIzB,YAAY,WAA0C;QAH9C,aAAQ,GAAmB,EAAE,CAAC;QAIpC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE;YACnB,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS;SAC3E,CAAW,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,wBAAwB,CAAS,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,CAAC,KAAa,IAAY,OAAO,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC;IACzD,KAAK,CAAC,GAAW,IAAY,OAAO,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,GAAW,EAAE,GAAW,IAAY,OAAO,aAAa,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;IAClF,QAAQ,CAAC,GAAW,EAAE,GAAW,IAAY,OAAO,aAAa,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;IAElF,KAAK,CAAC,GAAW,EAAE,IAAa,EAAE,WAAoB;QACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,UAAU,CAAC,0CAA0C,EAAE,yBAAyB,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO;YACL,GAAG;YACH,IAAI;YACJ,WAAW;YACX,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACnE,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAqB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;CACxD;AAED,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAE/E,MAAa,YAAY;IAOvB,YAAY,MAA+E;QALnF,oBAAe,GAAgC,IAAI,GAAG,EAAE,CAAC;QACzD,mBAAc,GAAkC,IAAI,GAAG,EAAE,CAAC;QAKhE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,qCAAkB,CAAC,IAAA,4CAAyB,EAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEO,SAAS,CACf,OAAU;QAEV,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,0BAAc,CAAC;gBAC3B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAmB;gBACzC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAoC;gBACxD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;aACnC,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,UAAkB;QACrC,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,2BAAgB,CAAC;gBAC/B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAmB;gBACzC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAoC;gBACxD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;aACnC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,2DAA2D;IAE3D,KAAK,CAAC,MAAM,CACV,OAAoC;QAEpC,MAAM,GAAG,GAAG,IAAI,qBAAqB,CAAS,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAEzE,MAAM,YAAY,GAAkB;YAClC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM;SACtB,CAAC;QAEF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,oEAAoE;IAEpE,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,KAAmC;QAC/D,MAAM,MAAM,GAAG,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEtD,MAAM,YAAY,GAA2B;YAC3C,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YACrC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClC,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,yBAAiB,CAAC,MAAM;gBAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;gBACxB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC;gBACzB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,cAAc,EAAE,GAAG,CAAC,cAAc;aACnC,CAAC,CAAC;SACJ,CAAC;QAEF,MAAM,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxC,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAkB,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAe,EAAE,GAAW;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,GAAW,EAAE,IAA4B;QACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,GAAW;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,sFAAsF;IAEtF;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,CAAoB,OAAyB;;QACpD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,qBAAqB;QACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,UAAU,CAAC,UAAU,GAAG,2BAA2B,OAAO,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAAC,UAAU,GAAG,+BAA+B,EAAE,cAAc,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE7C,kDAAkD;QAClD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpG,gDAAgD;QAChD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAE3F,uBAAuB;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAU,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAEhG,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,KAAK;YAC7D,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAC/B,UAAU;YACV,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CACrC,SAA2B,EAC3B,OAAe,EACf,GAAW,EACX,OAAwB;QAExB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;QAE1D,2BAA2B;QAC3B,MAAM,eAAe,GAAG,OAAO;aAC5B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;aAC9B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAY,CAAC,CAAC;QAEhC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,yBAAyB;QACzB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;gBACvF,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,SAAS,EAAE,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,CAAC;YAChF,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC7B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAiD;oBACtE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;iBAClC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,OAAwB,EACxB,cAAkD;QAElD,sCAAsC;QACtC,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,MAAM,SAAS,GAAoB,EAAE,CAAC;QAEtC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC3C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,UAAU,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;QAC3E,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC;QAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,UAAU,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;gBACzB,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;IACrE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,SAA2B,EAC3B,QAAuB,EACvB,GAAW,EACX,OAAe,EACf,KAA8B;QAE9B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,GAAiB,IAAI,CAAC;QACnC,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,mCAAmC;gBACnC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC;oBACxC,GAAG;oBACH,OAAO;oBACP,GAAG,EAAE,QAAQ,CAAC,GAAI;oBAClB,MAAM,EAAE,QAAQ,CAAC,KAAK;oBACtB,KAAK,EAAE,IAAA,sDAA2B,EAAC,QAAQ,CAAC,KAAgC,EAAE,KAAK,CAAC;oBACpF,OAAO,EAAE,CAAC,EAAE,oBAAoB;iBACjC,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,IAAA,iDAAsB,EACjC,QAAQ,CAAC,MAAiC,EAC1C,KAAK,EACL,GAAG,CACO,CAAC;gBAEb,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAc,CAAC;gBAC3B,WAAW,EAAE,CAAC;gBAEd,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;oBACzB,yEAAyE;oBACzE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,UAAU,CAClB,OAAO,UAAU,GAAG,CAAC,iCAAiC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE,EAC1E,oBAAoB,EACpB,EAAE,SAAS,EAAE,WAAW,EAAE,CAC3B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAA8B;QAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACjC,MAAM,KAAK,GAAG,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAErF,0DAA0D;QAC1D,4EAA4E;QAC5E,YAAY,CAAC,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,OAAO,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;YACjF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;CACF;AA3VD,oCA2VC;AAED,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"quota.service.js","sourceRoot":"","sources":["../../src/resilience/quota.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import ProcessorService from '../processor/services/processor.service';
2
+ import { EnvType } from '../types';
3
+ export interface IResilienceProviderLike {
4
+ app?: string | null;
5
+ event: string;
6
+ input?: Record<string, unknown> | object;
7
+ }
8
+ export interface IResilienceExecutionConfig {
9
+ workspace_id: string;
10
+ public_key: string;
11
+ user_id: string;
12
+ token: string;
13
+ env_type: EnvType;
14
+ private_key: string;
15
+ access_key?: string;
16
+ redis_client?: unknown;
17
+ }
18
+ /**
19
+ * Run a quota/fallback provider as either an app action or a product workflow.
20
+ * Workflow providers omit `app` and use `event` as the workflow tag.
21
+ */
22
+ export declare function executeResilienceProvider(processor: ProcessorService, config: IResilienceExecutionConfig, provider: IResilienceProviderLike, env: string, product: string, input: Record<string, unknown>): Promise<unknown>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.executeResilienceProvider = executeResilienceProvider;
37
+ const resilience_mapping_utils_1 = require("./resilience-mapping.utils");
38
+ /**
39
+ * Run a quota/fallback provider as either an app action or a product workflow.
40
+ * Workflow providers omit `app` and use `event` as the workflow tag.
41
+ */
42
+ async function executeResilienceProvider(processor, config, provider, env, product, input) {
43
+ var _a;
44
+ const mappedInput = (0, resilience_mapping_utils_1.applyResilienceInputMapping)(provider.input, input);
45
+ if (!((_a = provider.app) === null || _a === void 0 ? void 0 : _a.trim())) {
46
+ const { WorkflowService } = await Promise.resolve().then(() => __importStar(require('../workflows/workflows.service')));
47
+ const workflowService = new WorkflowService({
48
+ workspace_id: config.workspace_id,
49
+ public_key: config.public_key,
50
+ user_id: config.user_id,
51
+ token: config.token,
52
+ env_type: config.env_type,
53
+ private_key: config.private_key,
54
+ access_key: config.access_key,
55
+ redis_client: config.redis_client,
56
+ });
57
+ const result = await workflowService.execute({
58
+ product,
59
+ env,
60
+ tag: provider.event,
61
+ input: mappedInput,
62
+ });
63
+ if (result.status !== 'completed') {
64
+ throw new Error(result.error || `Workflow ${provider.event} failed with status ${result.status}`);
65
+ }
66
+ return {
67
+ status: result.status,
68
+ data: result.output,
69
+ workflow_id: result.workflow_id,
70
+ };
71
+ }
72
+ return processor.processAction({
73
+ env,
74
+ product,
75
+ app: provider.app,
76
+ action: provider.event,
77
+ input: mappedInput,
78
+ retries: 0,
79
+ });
80
+ }
81
+ //# sourceMappingURL=resilience-execution.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resilience-execution.utils.js","sourceRoot":"","sources":["../../src/resilience/resilience-execution.utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,8DAsDC;AA7ED,yEAAyE;AAmBzE;;;GAGG;AACI,KAAK,UAAU,yBAAyB,CAC7C,SAA2B,EAC3B,MAAkC,EAClC,QAAiC,EACjC,GAAW,EACX,OAAe,EACf,KAA8B;;IAE9B,MAAM,WAAW,GAAG,IAAA,sDAA2B,EAC7C,QAAQ,CAAC,KAAgC,EACzC,KAAK,CACN,CAAC;IAEF,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,GAAG,0CAAE,IAAI,EAAE,CAAA,EAAE,CAAC;QAC1B,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,gCAAgC,GAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;YAC1C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;YAC3C,OAAO;YACP,GAAG;YACH,GAAG,EAAE,QAAQ,CAAC,KAAK;YACnB,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,KAAK,IAAI,YAAY,QAAQ,CAAC,KAAK,uBAAuB,MAAM,CAAC,MAAM,EAAE,CACjF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC,aAAa,CAAC;QAC7B,GAAG;QACH,OAAO;QACP,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,MAAM,EAAE,QAAQ,CAAC,KAAK;QACtB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -5,6 +5,7 @@
5
5
  * creating, refreshing, verifying, and revoking sessions.
6
6
  */
7
7
  import { ISessionServiceConfig, ICreateSessionOptions, IRefreshSessionOptions, IVerifySessionOptions, IRevokeSessionOptions, IListSessionsOptions, ISessionResult, IVerifyResult, IListSessionsResult, IDefineSessionOptions, IDefinedSession, IFetchSessionUsersOptions, IFetchSessionUsersResult, IFetchSessionUserDetailsOptions, ISessionUserDetails, IFetchSessionActivityLogsOptions, IFetchSessionActivityLogsResult, IFetchSessionDashboardOptions, ISessionDashboardMetrics, IFetchUserDashboardOptions, IUserDashboardMetrics } from './types';
8
+ import { IBootstrapSessionResponse } from '../api/services/productsApi.service';
8
9
  /**
9
10
  * Error class for session operations
10
11
  */
@@ -94,8 +95,15 @@ export declare class SessionsService {
94
95
  private validateCache;
95
96
  /**
96
97
  * Create a new session
98
+ *
99
+ * @param internal - For internal use by `refresh()`: lets it reuse the bootstrap it already
100
+ * fetched (instead of fetching again) and tags the write as a token rotation so the backend
101
+ * validates the previous refresh token atomically as part of the same write.
97
102
  */
98
- create(options: ICreateSessionOptions): Promise<ISessionResult>;
103
+ create(options: ICreateSessionOptions, internal?: {
104
+ bootstrap?: IBootstrapSessionResponse;
105
+ previousRefreshToken?: string;
106
+ }): Promise<ISessionResult>;
99
107
  /**
100
108
  * Refresh an existing session
101
109
  */
@@ -249,9 +249,13 @@ class SessionsService {
249
249
  }
250
250
  /**
251
251
  * Create a new session
252
+ *
253
+ * @param internal - For internal use by `refresh()`: lets it reuse the bootstrap it already
254
+ * fetched (instead of fetching again) and tags the write as a token rotation so the backend
255
+ * validates the previous refresh token atomically as part of the same write.
252
256
  */
253
- async create(options) {
254
- var _a, _b, _c, _d, _e, _f, _g;
257
+ async create(options, internal) {
258
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
255
259
  const process_id = (0, processor_utils_1.generateObjectId)();
256
260
  const start = Date.now();
257
261
  const { product, env, tag, data, cache } = this.resolvePE(options);
@@ -274,9 +278,35 @@ class SessionsService {
274
278
  data,
275
279
  expected: types_1.ExpectedValues.PARSEINPUT,
276
280
  }));
277
- await this.productBuilderService.initializeProductByTag(product);
278
- this.productId = this.productBuilderService.fetchProductId() || '';
279
- const privateKey = this.productBuilderService.fetchPrivateKey();
281
+ const cachedPrivateKey = this.privateKeys.get(product);
282
+ if (cache && this.cacheManager && cachedPrivateKey) {
283
+ const cacheConfig = await this.validateCache(cache, product);
284
+ const cacheOptions = {
285
+ cache_tag: cache,
286
+ product_tag: product,
287
+ component_tag: tag,
288
+ component_type: 'session',
289
+ operation: 'create',
290
+ input: { tag, data },
291
+ privateKey: cachedPrivateKey,
292
+ expiry: cacheConfig.expiry,
293
+ };
294
+ const cached = await this.cacheManager.fetch(cacheOptions);
295
+ if (cached.hit && cached.data) {
296
+ const end = Date.now();
297
+ (_b = this.logService) === null || _b === void 0 ? void 0 : _b.add(Object.assign(Object.assign({}, baseLogs), { start,
298
+ end, message: `Session create - cache hit (${cached.source})`, successful_execution: true, status: logs_types_1.LogEventStatus.SUCCESS, data: { tag, operation: 'create', cache_source: cached.source }, cache_tag: cache, cache_key: cached.key, cache_status: true }));
299
+ (_c = this.logService) === null || _c === void 0 ? void 0 : _c.publish().catch(() => { });
300
+ return cached.data;
301
+ }
302
+ }
303
+ const bootstrap = (_d = internal === null || internal === void 0 ? void 0 : internal.bootstrap) !== null && _d !== void 0 ? _d : await this.productBuilderService.bootstrapSession({
304
+ product_tag: product,
305
+ env_slug: env,
306
+ session_tag: tag,
307
+ });
308
+ this.productId = bootstrap.product_id || '';
309
+ const privateKey = bootstrap.private_key || '';
280
310
  // Store private key for cache operations
281
311
  if (privateKey) {
282
312
  this.privateKeys.set(product, privateKey);
@@ -297,18 +327,17 @@ class SessionsService {
297
327
  const cached = await this.cacheManager.fetch(cacheOptions);
298
328
  if (cached.hit && cached.data) {
299
329
  const end = Date.now();
300
- (_b = this.logService) === null || _b === void 0 ? void 0 : _b.add(Object.assign(Object.assign({}, baseLogs), { start,
330
+ (_e = this.logService) === null || _e === void 0 ? void 0 : _e.add(Object.assign(Object.assign({}, baseLogs), { start,
301
331
  end, message: `Session create - cache hit (${cached.source})`, successful_execution: true, status: logs_types_1.LogEventStatus.SUCCESS, data: { tag, operation: 'create', cache_source: cached.source }, cache_tag: cache, cache_key: cached.key, cache_status: true }));
302
- (_c = this.logService) === null || _c === void 0 ? void 0 : _c.publish();
332
+ (_f = this.logService) === null || _f === void 0 ? void 0 : _f.publish().catch(() => { });
303
333
  return cached.data;
304
334
  }
305
335
  }
306
- const session = await this.productBuilderService.fetchSession(tag);
336
+ const session = bootstrap.session;
307
337
  if (!session) {
308
338
  throw new SessionError(`Session with tag ${tag} does not exist`, 'SESSION_NOT_FOUND');
309
339
  }
310
- const productEnv = await this.productBuilderService.fetchEnv(env);
311
- if (!productEnv) {
340
+ if (!bootstrap.env) {
312
341
  throw new SessionError(`Environment with slug ${env} does not exist`, 'ENV_NOT_FOUND');
313
342
  }
314
343
  // Validate input against session schema
@@ -336,7 +365,8 @@ class SessionsService {
336
365
  data: (0, processor_utils_1.encrypt)(JSON.stringify(JSON.stringify(data)), privateKey),
337
366
  session_id: sessionId,
338
367
  };
339
- await this.processorApiService.createSessionInfo(Object.assign({ product_tag: product, env, refreshToken }, details), this.getUserAccess());
368
+ await this.processorApiService.createSessionInfo(Object.assign(Object.assign({ product_tag: product, env,
369
+ refreshToken }, details), ((internal === null || internal === void 0 ? void 0 : internal.previousRefreshToken) ? { previous_refresh_token: internal.previousRefreshToken } : {})), this.getUserAccess());
340
370
  const result = {
341
371
  token: `${tag}:${token}`,
342
372
  refreshToken,
@@ -358,16 +388,16 @@ class SessionsService {
358
388
  }, result);
359
389
  }
360
390
  const end = Date.now();
361
- (_d = this.logService) === null || _d === void 0 ? void 0 : _d.add(Object.assign(Object.assign({}, baseLogs), { start,
391
+ (_g = this.logService) === null || _g === void 0 ? void 0 : _g.add(Object.assign(Object.assign({}, baseLogs), { start,
362
392
  end, message: 'Session create - success', successful_execution: true, status: logs_types_1.LogEventStatus.SUCCESS }));
363
- (_e = this.logService) === null || _e === void 0 ? void 0 : _e.publish();
393
+ (_h = this.logService) === null || _h === void 0 ? void 0 : _h.publish();
364
394
  return result;
365
395
  }
366
396
  catch (error) {
367
397
  const end = Date.now();
368
- (_f = this.logService) === null || _f === void 0 ? void 0 : _f.add(Object.assign(Object.assign({}, baseLogs), { start,
398
+ (_j = this.logService) === null || _j === void 0 ? void 0 : _j.add(Object.assign(Object.assign({}, baseLogs), { start,
369
399
  end, message: 'Session create - failed', failed_execution: true, data: { tag, operation: 'create', error: String(error) }, status: logs_types_1.LogEventStatus.FAIL }));
370
- await ((_g = this.logService) === null || _g === void 0 ? void 0 : _g.publish());
400
+ await ((_k = this.logService) === null || _k === void 0 ? void 0 : _k.publish());
371
401
  if (error instanceof SessionError)
372
402
  throw error;
373
403
  throw new SessionError(`Failed to create session: ${error}`, 'CREATE_FAILED', error);
@@ -377,7 +407,7 @@ class SessionsService {
377
407
  * Refresh an existing session
378
408
  */
379
409
  async refresh(options) {
380
- var _a, _b, _c, _d, _e;
410
+ var _a, _b, _c, _d, _e, _f, _g;
381
411
  const process_id = (0, processor_utils_1.generateObjectId)();
382
412
  const start = Date.now();
383
413
  const { product, env, tag, refreshToken, cache } = this.resolvePE(options);
@@ -395,29 +425,43 @@ class SessionsService {
395
425
  };
396
426
  (_a = this.logService) === null || _a === void 0 ? void 0 : _a.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Session refresh - initiated', status: logs_types_1.LogEventStatus.PROCESSING }));
397
427
  try {
398
- await this.productBuilderService.initializeProductByTag(product);
399
- this.productId = this.productBuilderService.fetchProductId() || '';
400
- const privateKey = this.productBuilderService.fetchPrivateKey();
401
- // Validate refresh token
402
- const valid = await this.processorApiService.validateRefreshToken({ refreshToken, product, env }, this.getUserAccess());
403
- if (!valid) {
404
- throw new SessionError('Invalid refresh token', 'INVALID_REFRESH_TOKEN');
405
- }
406
- // Decrypt refresh token to get original data
428
+ // The one read: bootstrap fetches product/session context + private key (cached, 5min TTL).
429
+ const bootstrap = await this.productBuilderService.bootstrapSession({
430
+ product_tag: product,
431
+ env_slug: env,
432
+ session_tag: tag,
433
+ });
434
+ this.productId = bootstrap.product_id || '';
435
+ const privateKey = bootstrap.private_key || '';
436
+ // Decrypt refresh token locally to get original data — no network call needed.
407
437
  const data = JSON.parse((0, processor_utils_1.decrypt)(refreshToken, privateKey));
408
- // Create new session with same data (pass cache for the new session)
409
- const result = await this.create({ product, env, tag, data, cache });
438
+ // The one write: create() validates+rotates the previous refresh token and persists
439
+ // the new session atomically on the backend (no separate validateRefreshToken round trip).
440
+ // Pass the already-fetched bootstrap through so create() doesn't fetch it again.
441
+ let result;
442
+ try {
443
+ result = await this.create({ product, env, tag, data, cache }, { bootstrap, previousRefreshToken: refreshToken });
444
+ }
445
+ catch (createError) {
446
+ const axiosStatus = (createError === null || createError === void 0 ? void 0 : createError.details)
447
+ ? (_c = (_b = createError.details) === null || _b === void 0 ? void 0 : _b.response) === null || _c === void 0 ? void 0 : _c.status
448
+ : undefined;
449
+ if (axiosStatus === 401) {
450
+ throw new SessionError('Invalid refresh token', 'INVALID_REFRESH_TOKEN');
451
+ }
452
+ throw createError;
453
+ }
410
454
  const end = Date.now();
411
- (_b = this.logService) === null || _b === void 0 ? void 0 : _b.add(Object.assign(Object.assign({}, baseLogs), { start,
455
+ (_d = this.logService) === null || _d === void 0 ? void 0 : _d.add(Object.assign(Object.assign({}, baseLogs), { start,
412
456
  end, message: 'Session refresh - success', successful_execution: true, status: logs_types_1.LogEventStatus.SUCCESS }));
413
- (_c = this.logService) === null || _c === void 0 ? void 0 : _c.publish();
457
+ (_e = this.logService) === null || _e === void 0 ? void 0 : _e.publish();
414
458
  return result;
415
459
  }
416
460
  catch (error) {
417
461
  const end = Date.now();
418
- (_d = this.logService) === null || _d === void 0 ? void 0 : _d.add(Object.assign(Object.assign({}, baseLogs), { start,
462
+ (_f = this.logService) === null || _f === void 0 ? void 0 : _f.add(Object.assign(Object.assign({}, baseLogs), { start,
419
463
  end, message: 'Session refresh - failed', failed_execution: true, data: { tag, operation: 'refresh', error: String(error) }, status: logs_types_1.LogEventStatus.FAIL }));
420
- await ((_e = this.logService) === null || _e === void 0 ? void 0 : _e.publish());
464
+ await ((_g = this.logService) === null || _g === void 0 ? void 0 : _g.publish());
421
465
  if (error instanceof SessionError)
422
466
  throw error;
423
467
  throw new SessionError(`Failed to refresh session: ${error}`, 'REFRESH_FAILED', error);
@@ -445,9 +489,13 @@ class SessionsService {
445
489
  };
446
490
  (_a = this.logService) === null || _a === void 0 ? void 0 : _a.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Session verify - initiated', status: logs_types_1.LogEventStatus.PROCESSING }));
447
491
  try {
448
- await this.productBuilderService.initializeProductByTag(product);
449
- this.productId = this.productBuilderService.fetchProductId() || '';
450
- const privateKey = this.productBuilderService.fetchPrivateKey();
492
+ const bootstrap = await this.productBuilderService.bootstrapSession({
493
+ product_tag: product,
494
+ env_slug: env,
495
+ session_tag: tag,
496
+ });
497
+ this.productId = bootstrap.product_id || '';
498
+ const privateKey = bootstrap.private_key || '';
451
499
  // Store private key for cache operations
452
500
  if (privateKey) {
453
501
  this.privateKeys.set(product, privateKey);
@@ -572,8 +620,12 @@ class SessionsService {
572
620
  if (!sessionId && !identifier) {
573
621
  throw new SessionError('Either sessionId or identifier must be provided', 'INVALID_PARAMS');
574
622
  }
575
- await this.productBuilderService.initializeProductByTag(product);
576
- this.productId = this.productBuilderService.fetchProductId() || '';
623
+ const bootstrap = await this.productBuilderService.bootstrapSession({
624
+ product_tag: product,
625
+ env_slug: env,
626
+ session_tag: tag,
627
+ });
628
+ this.productId = bootstrap.product_id || '';
577
629
  await this.processorApiService.revokeSession({ product, env, sessionId, identifier }, this.getUserAccess());
578
630
  const end = Date.now();
579
631
  (_b = this.logService) === null || _b === void 0 ? void 0 : _b.add(Object.assign(Object.assign({}, baseLogs), { start,
@@ -612,9 +664,13 @@ class SessionsService {
612
664
  };
613
665
  (_a = this.logService) === null || _a === void 0 ? void 0 : _a.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Session list - initiated', status: logs_types_1.LogEventStatus.PROCESSING }));
614
666
  try {
615
- await this.productBuilderService.initializeProductByTag(product);
616
- this.productId = this.productBuilderService.fetchProductId() || '';
617
- const privateKey = this.productBuilderService.fetchPrivateKey();
667
+ const bootstrap = await this.productBuilderService.bootstrapSession({
668
+ product_tag: product,
669
+ env_slug: env,
670
+ session_tag: tag,
671
+ });
672
+ this.productId = bootstrap.product_id || '';
673
+ const privateKey = bootstrap.private_key || '';
618
674
  // Store private key for cache operations
619
675
  if (privateKey) {
620
676
  this.privateKeys.set(product, privateKey);
@@ -807,8 +863,12 @@ class SessionsService {
807
863
  async fetchUsers(options) {
808
864
  const { product, session: sessionTag, env, page = 1, limit = 20 } = this.resolvePE(options);
809
865
  try {
810
- await this.productBuilderService.initializeProductByTag(product);
811
- this.productId = this.productBuilderService.fetchProductId() || '';
866
+ const bootstrap = await this.productBuilderService.bootstrapSession({
867
+ product_tag: product,
868
+ env_slug: env,
869
+ session_tag: sessionTag,
870
+ });
871
+ this.productId = bootstrap.product_id || '';
812
872
  const result = await this.processorApiService.fetchSessionUsers({
813
873
  product_tag: product,
814
874
  session_tag: sessionTag,
@@ -845,8 +905,12 @@ class SessionsService {
845
905
  var _a;
846
906
  const { product, session: sessionTag, identifier, env } = this.resolvePE(options);
847
907
  try {
848
- await this.productBuilderService.initializeProductByTag(product);
849
- this.productId = this.productBuilderService.fetchProductId() || '';
908
+ const bootstrap = await this.productBuilderService.bootstrapSession({
909
+ product_tag: product,
910
+ env_slug: env,
911
+ session_tag: sessionTag,
912
+ });
913
+ this.productId = bootstrap.product_id || '';
850
914
  const result = await this.processorApiService.fetchSessionUserDetails({
851
915
  product_tag: product,
852
916
  session_tag: sessionTag,
@@ -880,8 +944,12 @@ class SessionsService {
880
944
  async fetchActivityLogs(options) {
881
945
  const { product, session: sessionTag, env, status, start: startDate, end: endDate, page = 1, limit = 20 } = this.resolvePE(options);
882
946
  try {
883
- await this.productBuilderService.initializeProductByTag(product);
884
- this.productId = this.productBuilderService.fetchProductId() || '';
947
+ const bootstrap = await this.productBuilderService.bootstrapSession({
948
+ product_tag: product,
949
+ env_slug: env,
950
+ session_tag: sessionTag,
951
+ });
952
+ this.productId = bootstrap.product_id || '';
885
953
  const result = await this.processorApiService.fetchSessionActivityLogs({
886
954
  product_tag: product,
887
955
  session_tag: sessionTag,
@@ -919,8 +987,12 @@ class SessionsService {
919
987
  async fetchDashboard(options) {
920
988
  const { product, session: sessionTag, env } = this.resolvePE(options);
921
989
  try {
922
- await this.productBuilderService.initializeProductByTag(product);
923
- this.productId = this.productBuilderService.fetchProductId() || '';
990
+ const bootstrap = await this.productBuilderService.bootstrapSession({
991
+ product_tag: product,
992
+ env_slug: env,
993
+ session_tag: sessionTag,
994
+ });
995
+ this.productId = bootstrap.product_id || '';
924
996
  // Fetch dashboard metrics from backend
925
997
  const dashboard = await this.processorApiService.fetchSessionUsersDashboard({
926
998
  product_tag: product,
@@ -967,8 +1039,12 @@ class SessionsService {
967
1039
  async fetchUserDashboard(options) {
968
1040
  const { product, session: sessionTag, identifier, env } = this.resolvePE(options);
969
1041
  try {
970
- await this.productBuilderService.initializeProductByTag(product);
971
- this.productId = this.productBuilderService.fetchProductId() || '';
1042
+ const bootstrap = await this.productBuilderService.bootstrapSession({
1043
+ product_tag: product,
1044
+ env_slug: env,
1045
+ session_tag: sessionTag,
1046
+ });
1047
+ this.productId = bootstrap.product_id || '';
972
1048
  // Fetch user dashboard metrics from backend
973
1049
  const dashboard = await this.processorApiService.fetchUserDashboard({
974
1050
  product_tag: product,