@ductape/sdk 0.2.8 → 0.2.10

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 (43) hide show
  1. package/dist/api/services/processorApi.service.d.ts +4 -0
  2. package/dist/api/services/processorApi.service.js +13 -0
  3. package/dist/api/services/processorApi.service.js.map +1 -1
  4. package/dist/api/services/productsApi.service.d.ts +9 -0
  5. package/dist/api/services/productsApi.service.js.map +1 -1
  6. package/dist/database/databases.service.js +7 -9
  7. package/dist/database/databases.service.js.map +1 -1
  8. package/dist/features/feature-executor.js +3 -17
  9. package/dist/features/feature-executor.js.map +1 -1
  10. package/dist/index.d.ts +5 -1
  11. package/dist/index.js +41 -9
  12. package/dist/index.js.map +1 -1
  13. package/dist/logs/logs.service.d.ts +3 -0
  14. package/dist/logs/logs.service.js +25 -0
  15. package/dist/logs/logs.service.js.map +1 -1
  16. package/dist/processor/services/processor.service.d.ts +8 -0
  17. package/dist/processor/services/processor.service.js +28 -2
  18. package/dist/processor/services/processor.service.js.map +1 -1
  19. package/dist/products/services/products.service.js +2 -2
  20. package/dist/products/services/products.service.js.map +1 -1
  21. package/dist/resilience/fallback.service.d.ts +2 -4
  22. package/dist/resilience/fallback.service.js +56 -65
  23. package/dist/resilience/fallback.service.js.map +1 -1
  24. package/dist/resilience/health-status-cache.d.ts +11 -0
  25. package/dist/resilience/health-status-cache.js +46 -0
  26. package/dist/resilience/health-status-cache.js.map +1 -0
  27. package/dist/resilience/healthcheck.service.js +1 -1
  28. package/dist/resilience/healthcheck.service.js.map +1 -1
  29. package/dist/resilience/quota.service.d.ts +3 -5
  30. package/dist/resilience/quota.service.js +82 -62
  31. package/dist/resilience/quota.service.js.map +1 -1
  32. package/dist/resilience/resilience.service.js +6 -2
  33. package/dist/resilience/resilience.service.js.map +1 -1
  34. package/dist/resilience/types/index.d.ts +8 -0
  35. package/dist/runtime/resilient-write-queue.d.ts +18 -0
  36. package/dist/runtime/resilient-write-queue.js +74 -0
  37. package/dist/runtime/resilient-write-queue.js.map +1 -0
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/dist/types/index.types.d.ts +4 -0
  40. package/dist/types/index.types.js.map +1 -1
  41. package/dist/types/productsBuilder.types.d.ts +2 -0
  42. package/dist/types/productsBuilder.types.js.map +1 -1
  43. package/package.json +1 -1
@@ -24,6 +24,8 @@ export default class LogsService {
24
24
  private environment;
25
25
  private ip_address;
26
26
  private language;
27
+ private retryTimer?;
28
+ private retryAttempt;
27
29
  constructor({ workspace_id, public_key, user_id, token, product_id, env_type, app_id, workspace_private_key, ip_address, language }: ILoggerInit);
28
30
  add(item: ILogData): void;
29
31
  fetchLogs(): ILogData[];
@@ -38,6 +40,7 @@ export default class LogsService {
38
40
  * Logs API. Failed and unsent entries remain queued for a later flush.
39
41
  */
40
42
  publish(): Promise<void>;
43
+ private scheduleRetry;
41
44
  fetch(params: LogQueryParams): Promise<any>;
42
45
  private getUserAccess;
43
46
  }
@@ -4,6 +4,7 @@ const logsApi_service_1 = require("../api/services/logsApi.service");
4
4
  const processor_utils_1 = require("../processor/utils/processor.utils");
5
5
  class LogsService {
6
6
  constructor({ workspace_id, public_key, user_id, token, product_id, env_type, app_id, workspace_private_key, ip_address, language }) {
7
+ this.retryAttempt = 0;
7
8
  this.workspace_id = workspace_id;
8
9
  this.public_key = public_key;
9
10
  this.user_id = user_id;
@@ -19,6 +20,10 @@ class LogsService {
19
20
  }
20
21
  add(item) {
21
22
  var _a, _b, _c, _d;
23
+ const isInitiatedLifecycle = [item.message, item.name]
24
+ .some((value) => /\s-\sinitiated$/i.test(String(value !== null && value !== void 0 ? value : '').trim()));
25
+ if (isInitiatedLifecycle)
26
+ return;
22
27
  item.data = typeof item.data === 'object' ? JSON.stringify(item.data) : item.data;
23
28
  // Automatically calculate latency if start and end are provided
24
29
  let latency = item.latency;
@@ -107,6 +112,8 @@ class LogsService {
107
112
  const maxEntryDataBytes = this.configuredByteLimit('DUCTAPE_LOG_MAX_ENTRY_DATA_BYTES', LogsService.DEFAULT_ENTRY_DATA_BYTES);
108
113
  const payload = pending.map((item) => {
109
114
  var _a;
115
+ if (item.data_encrypted)
116
+ return item;
110
117
  const rawData = typeof item.data === 'string' ? item.data : JSON.stringify((_a = item.data) !== null && _a !== void 0 ? _a : {});
111
118
  const dataStr = this.truncateUtf8(rawData, maxEntryDataBytes);
112
119
  if (!this.workspace_private_key)
@@ -143,9 +150,27 @@ class LogsService {
143
150
  this.eventLogs.unshift(...unsent);
144
151
  console.warn(`[Ductape Logs] Flush failed; ${unsent.length} log entries retained for retry. ` +
145
152
  'Request details were suppressed.');
153
+ this.scheduleRetry();
146
154
  return;
147
155
  }
148
156
  }
157
+ this.retryAttempt = 0;
158
+ if (this.retryTimer)
159
+ clearTimeout(this.retryTimer);
160
+ this.retryTimer = undefined;
161
+ }
162
+ scheduleRetry() {
163
+ var _a, _b;
164
+ if (this.retryTimer)
165
+ return;
166
+ this.retryAttempt += 1;
167
+ const exponential = Math.min(60000, 500 * (2 ** Math.min(this.retryAttempt, 7)));
168
+ const jitter = Math.floor(Math.random() * Math.max(1, exponential / 4));
169
+ this.retryTimer = setTimeout(() => {
170
+ this.retryTimer = undefined;
171
+ void this.publish();
172
+ }, exponential + jitter);
173
+ (_b = (_a = this.retryTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
149
174
  }
150
175
  async fetch(params) {
151
176
  if (!params.component) {
@@ -1 +1 @@
1
- {"version":3,"file":"logs.service.js","sourceRoot":"","sources":["../../src/logs/logs.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.service.js","sourceRoot":"","sources":["../../src/logs/logs.service.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,8 @@ export default class ProcessorService implements IProcessorService {
35
35
  private doneWithProcessing;
36
36
  private productTag;
37
37
  private pricingTag;
38
+ /** Optional app marketplace pricing; workspace subscription metering is independent. */
39
+ private appPricing?;
38
40
  private apps;
39
41
  private baseLogs;
40
42
  private clone;
@@ -280,6 +282,7 @@ export default class ProcessorService implements IProcessorService {
280
282
  app_active: boolean;
281
283
  recipient_workspace_id: string;
282
284
  product_env_mapping?: IProductAppEnvs | null;
285
+ app_pricing?: unknown;
283
286
  }): Promise<any>;
284
287
  processRequest(payload: IRetryMeta, event: IStepEvent, retries: IAppRetryPolicy, additional_logs: Partial<ILogData>, returnValue?: boolean): Promise<true | IProcessingFailure | {
285
288
  process_id: string;
@@ -458,6 +461,11 @@ export default class ProcessorService implements IProcessorService {
458
461
  * Fetches the latest healthcheck status for a product/env from Redis cache.
459
462
  */
460
463
  getHealthcheckStatusFromCache(productTag: string, envSlug: string): Promise<any>;
464
+ /**
465
+ * Opens the provider circuit immediately after an operation failure. The
466
+ * interval monitor is deliberately the only path that closes it again.
467
+ */
468
+ markHealthcheckUnavailable(productTag: string, healthcheckTag: string, envSlug: string, reason?: string): Promise<void>;
461
469
  /**
462
470
  * Updates the healthcheck in the remote DB for a product with all envs' results.
463
471
  */
@@ -49,6 +49,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
49
49
  var _a, _b;
50
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
51
  const products_service_1 = __importDefault(require("../../products/services/products.service"));
52
+ const health_status_cache_1 = require("../../resilience/health-status-cache");
52
53
  const types_1 = require("../../types");
53
54
  const logs_service_1 = __importDefault(require("../../logs/logs.service"));
54
55
  const cloud_runtime_util_1 = require("../../cloud/cloud-runtime.util");
@@ -2959,7 +2960,9 @@ class ProcessorService {
2959
2960
  // Pricing/request accounting can touch Redis (including lock acquisition and
2960
2961
  // a 5s command timeout). It is telemetry/accounting and must not hold a
2961
2962
  // completed provider response on the business request path.
2962
- void this.processPricingCostEventually(Object.assign(Object.assign({}, additional_logs), { app_id, workspace_id: this.workspace_id }), event.app).then(() => this.logService.publish()).catch(() => { });
2963
+ if (this.appPricing !== undefined && this.appPricing !== null && this.appPricing !== false) {
2964
+ void this.processPricingCostEventually(Object.assign(Object.assign({}, additional_logs), { app_id, workspace_id: this.workspace_id }), event.app).then(() => this.logService.publish()).catch(() => { });
2965
+ }
2963
2966
  const log = Object.assign(Object.assign(Object.assign({}, this.baseLogs), additional_logs), { message: 'Process http request - success', successful_execution: true, data: { response: results }, status: types_1.LogEventStatus.SUCCESS, app_id, action: event.event, start,
2964
2967
  end });
2965
2968
  this.logService.add(log);
@@ -4682,7 +4685,7 @@ class ProcessorService {
4682
4685
  async writeResult(status, retryable = true) {
4683
4686
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
4684
4687
  const envSlug = (_f = (_d = (_b = (_a = this.processEnv) === null || _a === void 0 ? void 0 : _a.slug) !== null && _b !== void 0 ? _b : (_c = this.input) === null || _c === void 0 ? void 0 : _c.env) !== null && _d !== void 0 ? _d : (_e = this.baseLogs) === null || _e === void 0 ? void 0 : _e.env) !== null && _f !== void 0 ? _f : '';
4685
- await this.processorApiService.saveResult(Object.assign(Object.assign({ status, component: this.component, start: this.start, end: this.end, retryable, result: (0, processor_utils_1.encrypt)(JSON.stringify(this.processingOutput), this.productBuilderService.fetchPrivateKey()), process_id: this.process_id, product_id: this.productId, product_tag: this.productTag ||
4688
+ this.processorApiService.enqueueResult(Object.assign(Object.assign({ status, component: this.component, start: this.start, end: this.end, retryable, result: (0, processor_utils_1.encrypt)(JSON.stringify(this.processingOutput), this.productBuilderService.fetchPrivateKey()), process_id: this.process_id, product_id: this.productId, product_tag: this.productTag ||
4686
4689
  ((_g = this.input) === null || _g === void 0 ? void 0 : _g.product) ||
4687
4690
  ((_h = this.baseLogs) === null || _h === void 0 ? void 0 : _h.product_tag), workspace_id: this.workspace_id }, ((_j = this.featureExecutionContext) !== null && _j !== void 0 ? _j : {})), { env: envSlug, input: (0, processor_utils_1.encrypt)(JSON.stringify(this.input), this.productBuilderService.fetchPrivateKey()) }), Object.assign(Object.assign({}, this.getUserAccess()), { access_key: this.accessKey }));
4688
4691
  }
@@ -4857,6 +4860,7 @@ class ProcessorService {
4857
4860
  if (bootstrapData.product_id) {
4858
4861
  this.productId = bootstrapData.product_id;
4859
4862
  }
4863
+ this.appPricing = bootstrapData.app_pricing;
4860
4864
  if (!this.productId) {
4861
4865
  throw new Error(`Action execution could not resolve product_id for product '${product_tag}'`);
4862
4866
  }
@@ -5423,6 +5427,15 @@ class ProcessorService {
5423
5427
  * Writes the healthcheck result to Redis cache for fast status retrieval.
5424
5428
  */
5425
5429
  async writeHealthcheckResultToCache(data, result) {
5430
+ var _a, _b, _c;
5431
+ if ((data === null || data === void 0 ? void 0 : data.product) && (data === null || data === void 0 ? void 0 : data.healthcheck) && (data === null || data === void 0 ? void 0 : data.env)) {
5432
+ (0, health_status_cache_1.setRuntimeHealthState)(this.workspace_id, data.product, data.env, data.healthcheck, {
5433
+ status: (result === null || result === void 0 ? void 0 : result.status) === 'available' || (result === null || result === void 0 ? void 0 : result.status) === 'unavailable' ? result.status : 'unknown',
5434
+ lastChecked: (_b = (_a = result === null || result === void 0 ? void 0 : result.checkedAt) !== null && _a !== void 0 ? _a : result === null || result === void 0 ? void 0 : result.lastChecked) !== null && _b !== void 0 ? _b : new Date().toISOString(),
5435
+ latency: Number.isFinite(Number(result === null || result === void 0 ? void 0 : result.latency)) ? Number(result.latency) : undefined,
5436
+ statusSource: (_c = result === null || result === void 0 ? void 0 : result.status_source) !== null && _c !== void 0 ? _c : result === null || result === void 0 ? void 0 : result.statusSource,
5437
+ });
5438
+ }
5426
5439
  if (!this.redisClient)
5427
5440
  return;
5428
5441
  const key = `healthcheck:${data.product}:${data.healthcheck}:${data.env}`;
@@ -5440,6 +5453,19 @@ class ProcessorService {
5440
5453
  const cached = await this.redisClient.get(key);
5441
5454
  return cached ? JSON.parse(cached) : null;
5442
5455
  }
5456
+ /**
5457
+ * Opens the provider circuit immediately after an operation failure. The
5458
+ * interval monitor is deliberately the only path that closes it again.
5459
+ */
5460
+ async markHealthcheckUnavailable(productTag, healthcheckTag, envSlug, reason) {
5461
+ const checkedAt = new Date().toISOString();
5462
+ const result = Object.assign({ status: 'unavailable', checkedAt, latency: 0, status_source: 'runtime_failure' }, (reason ? { reason: reason.slice(0, 500) } : {}));
5463
+ void this.writeHealthcheckResultToCache({ product: productTag, healthcheck: healthcheckTag, env: envSlug }, result).catch(() => undefined);
5464
+ void this.updateHealthcheckOnProcessor(productTag, [{
5465
+ tag: healthcheckTag,
5466
+ environments: [Object.assign({ slug: envSlug }, result)],
5467
+ }]).catch(() => undefined);
5468
+ }
5443
5469
  /**
5444
5470
  * Updates the healthcheck in the remote DB for a product with all envs' results.
5445
5471
  */