@ductape/sdk 0.1.26 → 0.1.27

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 (152) hide show
  1. package/README.md +83 -52
  2. package/dist/agents/agent-context.d.ts +1 -1
  3. package/dist/agents/agent-context.js +1 -1
  4. package/dist/agents/agent-context.js.map +1 -1
  5. package/dist/agents/agents.service.js +4 -4
  6. package/dist/agents/agents.service.js.map +1 -1
  7. package/dist/agents/types/agents.types.d.ts +6 -6
  8. package/dist/api/services/featureApi.service.d.ts +199 -0
  9. package/dist/api/services/featureApi.service.js +201 -0
  10. package/dist/api/services/featureApi.service.js.map +1 -0
  11. package/dist/api/services/processorApi.service.d.ts +2 -2
  12. package/dist/api/services/processorApi.service.js +1 -1
  13. package/dist/api/services/productsApi.service.d.ts +6 -6
  14. package/dist/api/services/productsApi.service.js +3 -3
  15. package/dist/api/services/productsApi.service.js.map +1 -1
  16. package/dist/api/urls.d.ts +12 -12
  17. package/dist/api/urls.js +22 -22
  18. package/dist/api/urls.js.map +1 -1
  19. package/dist/apps/validators/index.d.ts +5 -1
  20. package/dist/apps/validators/index.js +9 -1
  21. package/dist/apps/validators/index.js.map +1 -1
  22. package/dist/apps/validators/joi-validators/create.appWebhook.validator.d.ts +1 -0
  23. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js +1 -0
  24. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js.map +1 -1
  25. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.d.ts +1 -0
  26. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.js +1 -0
  27. package/dist/apps/validators/joi-validators/create.appWebhookEvent.validator.js.map +1 -1
  28. package/dist/apps/validators/joi-validators/update.appWebhook.validator.d.ts +1 -0
  29. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js +1 -0
  30. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js.map +1 -1
  31. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.d.ts +1 -0
  32. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.js +1 -0
  33. package/dist/apps/validators/joi-validators/update.appWebhookEvent.validator.js.map +1 -1
  34. package/dist/brokers/brokers.service.d.ts +2 -2
  35. package/dist/brokers/brokers.service.js +2 -2
  36. package/dist/brokers/brokers.service.js.map +1 -1
  37. package/dist/brokers/types/index.d.ts +1 -1
  38. package/dist/cloud/cloud-database-link.util.js +22 -3
  39. package/dist/cloud/cloud-database-link.util.js.map +1 -1
  40. package/dist/cloud/cloud-service-map.util.js +6 -5
  41. package/dist/cloud/cloud-service-map.util.js.map +1 -1
  42. package/dist/cloud/index.d.ts +1 -1
  43. package/dist/cloud/index.js +3 -1
  44. package/dist/cloud/index.js.map +1 -1
  45. package/dist/cloud/types/cloud.types.d.ts +1 -1
  46. package/dist/cloud/vpc-connector-connect.util.d.ts +11 -2
  47. package/dist/cloud/vpc-connector-connect.util.js +7 -0
  48. package/dist/cloud/vpc-connector-connect.util.js.map +1 -1
  49. package/dist/cloud/vpc-connector-tunnel.client.d.ts +26 -0
  50. package/dist/cloud/vpc-connector-tunnel.client.js +70 -0
  51. package/dist/cloud/vpc-connector-tunnel.client.js.map +1 -1
  52. package/dist/database/adapters/mysql.adapter.js +15 -0
  53. package/dist/database/adapters/mysql.adapter.js.map +1 -1
  54. package/dist/database/adapters/postgresql.adapter.js +11 -55
  55. package/dist/database/adapters/postgresql.adapter.js.map +1 -1
  56. package/dist/database/databases.service.d.ts +3 -3
  57. package/dist/database/databases.service.js +18 -18
  58. package/dist/database/databases.service.js.map +1 -1
  59. package/dist/database/index.d.ts +1 -1
  60. package/dist/database/triggers/trigger-processor.d.ts +7 -7
  61. package/dist/database/triggers/trigger-processor.js +17 -17
  62. package/dist/database/triggers/trigger-processor.js.map +1 -1
  63. package/dist/database/types/connection.interface.d.ts +0 -2
  64. package/dist/database/types/index.d.ts +1 -1
  65. package/dist/database/types/trigger.interface.d.ts +9 -9
  66. package/dist/database/types/trigger.interface.js +3 -3
  67. package/dist/database/types/trigger.interface.js.map +1 -1
  68. package/dist/features/feature-builder.d.ts +70 -0
  69. package/dist/features/feature-builder.js +348 -0
  70. package/dist/features/feature-builder.js.map +1 -0
  71. package/dist/features/feature-executor.d.ts +289 -0
  72. package/dist/features/feature-executor.js +2444 -0
  73. package/dist/features/feature-executor.js.map +1 -0
  74. package/dist/features/features.service.d.ts +412 -0
  75. package/dist/features/features.service.js +2222 -0
  76. package/dist/features/features.service.js.map +1 -0
  77. package/dist/features/index.d.ts +30 -0
  78. package/dist/features/index.js +64 -0
  79. package/dist/features/index.js.map +1 -0
  80. package/dist/features/types/features.types.d.ts +1081 -0
  81. package/dist/features/types/features.types.js +13 -0
  82. package/dist/features/types/features.types.js.map +1 -0
  83. package/dist/features/types/index.d.ts +6 -0
  84. package/dist/features/types/index.js +23 -0
  85. package/dist/features/types/index.js.map +1 -0
  86. package/dist/index.d.ts +35 -48
  87. package/dist/index.js +48 -63
  88. package/dist/index.js.map +1 -1
  89. package/dist/init.interface.d.ts +1 -11
  90. package/dist/inputs/inputs.service.d.ts +4 -4
  91. package/dist/inputs/inputs.service.js.map +1 -1
  92. package/dist/introspect/index.d.ts +31 -0
  93. package/dist/introspect/index.js +168 -0
  94. package/dist/introspect/index.js.map +1 -0
  95. package/dist/jobs/index.d.ts +1 -1
  96. package/dist/jobs/types.d.ts +3 -3
  97. package/dist/logs/logs.service.d.ts +0 -3
  98. package/dist/logs/logs.service.js +1 -4
  99. package/dist/logs/logs.service.js.map +1 -1
  100. package/dist/logs/logs.types.d.ts +4 -7
  101. package/dist/logs/logs.types.js +2 -3
  102. package/dist/logs/logs.types.js.map +1 -1
  103. package/dist/processor/services/processor.service.d.ts +27 -26
  104. package/dist/processor/services/processor.service.js +71 -72
  105. package/dist/processor/services/processor.service.js.map +1 -1
  106. package/dist/processor/utils/processor.utils.d.ts +2 -2
  107. package/dist/processor/utils/processor.utils.js.map +1 -1
  108. package/dist/products/bootstrap-cache.d.ts +2 -2
  109. package/dist/products/bootstrap-cache.js +3 -3
  110. package/dist/products/bootstrap-cache.js.map +1 -1
  111. package/dist/products/services/products.service.d.ts +32 -57
  112. package/dist/products/services/products.service.js +44 -397
  113. package/dist/products/services/products.service.js.map +1 -1
  114. package/dist/products/validators/index.d.ts +1 -3
  115. package/dist/products/validators/index.js +1 -5
  116. package/dist/products/validators/index.js.map +1 -1
  117. package/dist/products/validators/joi-validators/create.productDatabase.validator.js +1 -1
  118. package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +1 -1
  119. package/dist/products/validators/joi-validators/create.productFeature.validator.d.ts +1 -7
  120. package/dist/products/validators/joi-validators/create.productFeature.validator.js +6 -61
  121. package/dist/products/validators/joi-validators/create.productFeature.validator.js.map +1 -1
  122. package/dist/products/validators/joi-validators/update.productDatabase.validator.js +23 -27
  123. package/dist/products/validators/joi-validators/update.productDatabase.validator.js.map +1 -1
  124. package/dist/resilience/fallback.service.js +19 -41
  125. package/dist/resilience/fallback.service.js.map +1 -1
  126. package/dist/resilience/healthcheck.service.d.ts +5 -5
  127. package/dist/resilience/healthcheck.service.js +26 -26
  128. package/dist/resilience/healthcheck.service.js.map +1 -1
  129. package/dist/resilience/quota.service.js +17 -27
  130. package/dist/resilience/quota.service.js.map +1 -1
  131. package/dist/resilience/resilience-execution.utils.d.ts +2 -2
  132. package/dist/resilience/resilience-execution.utils.js +7 -7
  133. package/dist/resilience/resilience-execution.utils.js.map +1 -1
  134. package/dist/resilience/resilience.service.js +14 -30
  135. package/dist/resilience/resilience.service.js.map +1 -1
  136. package/dist/resilience/types/index.d.ts +20 -23
  137. package/dist/resilience/types/index.js +2 -3
  138. package/dist/resilience/types/index.js.map +1 -1
  139. package/dist/types/enums.d.ts +1 -2
  140. package/dist/types/enums.js +1 -2
  141. package/dist/types/enums.js.map +1 -1
  142. package/dist/types/index.types.d.ts +3 -4
  143. package/dist/types/index.types.js +2 -2
  144. package/dist/types/index.types.js.map +1 -1
  145. package/dist/types/logs.types.d.ts +0 -1
  146. package/dist/types/logs.types.js.map +1 -1
  147. package/dist/types/processor.types.d.ts +11 -13
  148. package/dist/types/processor.types.js.map +1 -1
  149. package/dist/types/productsBuilder.types.d.ts +52 -58
  150. package/dist/types/productsBuilder.types.js +57 -55
  151. package/dist/types/productsBuilder.types.js.map +1 -1
  152. package/package.json +5 -2
@@ -1,5 +1,5 @@
1
1
  import { IProductsBuilderService } from '../../products/services/products.service';
2
- import { IAppVersion, IBuilderInit, IGenerateWebhookLink, INotificationsHandler, IProcessingFailure, IActionProcessorInput, INotificationProcessorInput, IProductNotificationTemplate, IStorageProcessorInput, IRegisterWebhook, WebhookEventTypes, IJobProcessorInput, IMessageBrokerPublishInput, IMessageBrokerSubscribeInput, FeatureEventTypes, IActionRequest, IActionSamples, IFeatureEvent, IProductAppEnvs, IProductEnv, IRetryMeta, IStorageRequest, IProductStorageEnvs, HttpMethods, ILogData, LogEventStatus, LogEventTypes, IAppRetryPolicy, IParsedIndexes, IParsedSample, FetchRemoteCachePayload, ISessionInput, ISessionOutput, ISessionPayload, ISessionRefreshPayload } from '../../types';
2
+ import { IAppVersion, IBuilderInit, IGenerateWebhookLink, INotificationsHandler, IProcessingFailure, IActionProcessorInput, INotificationProcessorInput, IProductNotificationTemplate, IStorageProcessorInput, IRegisterWebhook, WebhookEventTypes, IJobProcessorInput, IMessageBrokerPublishInput, IMessageBrokerSubscribeInput, StepEventTypes, IActionRequest, IActionSamples, IStepEvent, IProductAppEnvs, IProductEnv, IRetryMeta, IStorageRequest, IProductStorageEnvs, HttpMethods, ILogData, LogEventStatus, LogEventTypes, IAppRetryPolicy, IParsedIndexes, IParsedSample, FetchRemoteCachePayload, ISessionInput, ISessionOutput, ISessionPayload, ISessionRefreshPayload } from '../../types';
3
3
  import { IPricingResult } from '../../pricing/pricing.types';
4
4
  export interface IProcessorService {
5
5
  processNotification(action: INotificationProcessorInput): Promise<any>;
@@ -80,7 +80,7 @@ export default class ProcessorService implements IProcessorService {
80
80
  */
81
81
  private getBrokerServiceForPublish;
82
82
  /**
83
- * Disconnect all pooled broker connections (e.g. at end of workflow run).
83
+ * Disconnect all pooled broker connections (e.g. at end of feature run).
84
84
  * Safe to call if pool is empty or a broker has no disconnect().
85
85
  */
86
86
  disconnectBrokerConnections(): Promise<void>;
@@ -94,7 +94,7 @@ export default class ProcessorService implements IProcessorService {
94
94
  */
95
95
  private getMailTransporter;
96
96
  /**
97
- * Close all pooled mail transporters (e.g. at end of workflow run). Safe if pool is empty.
97
+ * Close all pooled mail transporters (e.g. at end of feature run). Safe if pool is empty.
98
98
  */
99
99
  disconnectMailTransporters(): Promise<void>;
100
100
  /**
@@ -103,7 +103,7 @@ export default class ProcessorService implements IProcessorService {
103
103
  */
104
104
  private getFirebaseApp;
105
105
  /**
106
- * Close all pooled Firebase apps (e.g. at end of workflow run). Safe if pool is empty.
106
+ * Close all pooled Firebase apps (e.g. at end of feature run). Safe if pool is empty.
107
107
  */
108
108
  disconnectFirebaseApps(): Promise<void>;
109
109
  /**
@@ -116,7 +116,7 @@ export default class ProcessorService implements IProcessorService {
116
116
  */
117
117
  private getSmsClient;
118
118
  /**
119
- * Clear pooled SMS clients (e.g. at end of workflow run). Safe if pool is empty.
119
+ * Clear pooled SMS clients (e.g. at end of feature run). Safe if pool is empty.
120
120
  */
121
121
  disconnectSmsClients(): Promise<void>;
122
122
  /**
@@ -132,7 +132,7 @@ export default class ProcessorService implements IProcessorService {
132
132
  }): Promise<void>;
133
133
  /**
134
134
  * Run a single healthcheck (one env) by dispatching to the correct processor based on probe type.
135
- * Supports app, database, workflow, graph, storage, message_broker. Falls back to processAction when probe is missing (app/event only).
135
+ * Supports app, database, feature, graph, storage, message_broker. Falls back to processAction when probe is missing (app/event only).
136
136
  * Public so the SDK monitor worker can call it with full healthcheck (including probe).
137
137
  */
138
138
  runOneHealthcheck(healthcheck: {
@@ -144,6 +144,7 @@ export default class ProcessorService implements IProcessorService {
144
144
  type?: string;
145
145
  app?: string;
146
146
  database?: string;
147
+ feature?: string;
147
148
  workflow?: string;
148
149
  graph?: string;
149
150
  messageBroker?: string;
@@ -159,14 +160,14 @@ export default class ProcessorService implements IProcessorService {
159
160
  /**
160
161
  * Start healthcheck workers for all products/environments after Redis is connected.
161
162
  * This is called automatically in the constructor if redisClient is present.
162
- * Dispatches to app, database, workflow, graph, storage, or message_broker processor based on probe type.
163
+ * Dispatches to app, database, feature, graph, storage, or message_broker processor based on probe type.
163
164
  * Every HEALTHCHECK_REFRESH_MS we re-fetch the list and only clear/recreate workers when the fingerprint
164
165
  * (tag:env:interval set) has changed, so existing timers are not reset when nothing changed.
165
166
  */
166
167
  private startHealthcheckWorkers;
167
168
  /**
168
169
  * Manually trigger healthcheck processing for all healthchecks (can be called externally if needed).
169
- * Dispatches to app, database, workflow, graph, storage, or message_broker processor based on probe type.
170
+ * Dispatches to app, database, feature, graph, storage, or message_broker processor based on probe type.
170
171
  */
171
172
  processAllHealthchecksForProduct(productTag: string): Promise<void>;
172
173
  generateSession(payload: ISessionInput): Promise<ISessionOutput>;
@@ -177,8 +178,8 @@ export default class ProcessorService implements IProcessorService {
177
178
  intializeProduct(additional_logs: Partial<ILogData>): Promise<void>;
178
179
  initializePricing(additional_logs: Partial<ILogData>, access_tag: string): Promise<void>;
179
180
  fetchEnv(env: string, additional_logs: Partial<ILogData>): Promise<IProductEnv>;
180
- constructJSONDataPayloads(object: Partial<IActionRequest>, additional_logs: Partial<ILogData>, samples: IActionSamples, event: IFeatureEvent, loopIndex?: number): Promise<{}>;
181
- generatePayload(obj: Record<string, unknown>, event: IFeatureEvent | null, additional_logs: Partial<ILogData>, sample?: IParsedSample[], index?: IParsedIndexes, loopIndex?: number): Promise<Record<string, unknown>>;
181
+ constructJSONDataPayloads(object: Partial<IActionRequest>, additional_logs: Partial<ILogData>, samples: IActionSamples, event: IStepEvent, loopIndex?: number): Promise<{}>;
182
+ generatePayload(obj: Record<string, unknown>, event: IStepEvent | null, additional_logs: Partial<ILogData>, sample?: IParsedSample[], index?: IParsedIndexes, loopIndex?: number): Promise<Record<string, unknown>>;
182
183
  generateStringValues(value: string, app: string, additional_logs: Partial<ILogData>, sample?: Array<IParsedSample>, index?: IParsedIndexes, key?: string, loopIndex?: number): Promise<any>;
183
184
  generateOperatorValues(value: string, app: string, additional_logs: Partial<ILogData>, sample?: Array<IParsedSample>, index?: IParsedIndexes, key?: string, loopIndex?: number): Promise<any>;
184
185
  sumValues(value: string, app: string, additional_logs: Partial<ILogData>, sample?: Array<IParsedSample>, index?: IParsedIndexes, key?: string, loopIndex?: number): Promise<any>;
@@ -204,7 +205,7 @@ export default class ProcessorService implements IProcessorService {
204
205
  decorateValue(value: string, sample: IParsedSample): string;
205
206
  generateAuthValue(stages: Array<string>, app: string, sample: IParsedSample[], additional_logs: Partial<ILogData>): Promise<string>;
206
207
  fetchAuthData(app_tag: string, additional_logs: Partial<ILogData>): Promise<Record<string, unknown>>;
207
- processEvent(event: IFeatureEvent): Promise<any>;
208
+ processEvent(event: IStepEvent): Promise<any>;
208
209
  runJobs(job: any, additional_logs?: Partial<ILogData>): Promise<any>;
209
210
  /**
210
211
  * Record a failed phase on the job execution tracker (e.g. from BullMQ 'failed' handler).
@@ -248,19 +249,19 @@ export default class ProcessorService implements IProcessorService {
248
249
  */
249
250
  private processGraphOperation;
250
251
  /**
251
- * Process workflow job
252
- * Executes a workflow using the workflow service
252
+ * Process feature job
253
+ * Executes a feature using the feature service
253
254
  */
254
- private processWorkflow;
255
+ private processFeature;
255
256
  getAndStoreAuth(appEnv: IProductAppEnvs, access_tag: string): Promise<string>;
256
257
  fetchThirdPartyApp(access_tag: string): Promise<IAppVersion & {
257
258
  workspace_id: string;
258
259
  _id: string;
259
260
  version: string;
260
261
  }>;
261
- processConditionalCheck(event: IFeatureEvent, additional_logs?: Partial<ILogData>): Promise<boolean>;
262
- extractLoopIndexes(event: IFeatureEvent, additional_logs?: Partial<ILogData>): Promise<number[]>;
263
- runAction(event: IFeatureEvent, additional_logs: Partial<ILogData>, returnValue?: boolean, bootstrapData?: {
262
+ processConditionalCheck(event: IStepEvent, additional_logs?: Partial<ILogData>): Promise<boolean>;
263
+ extractLoopIndexes(event: IStepEvent, additional_logs?: Partial<ILogData>): Promise<number[]>;
264
+ runAction(event: IStepEvent, additional_logs: Partial<ILogData>, returnValue?: boolean, bootstrapData?: {
264
265
  action: any;
265
266
  app_env: any;
266
267
  retries: number;
@@ -268,7 +269,7 @@ export default class ProcessorService implements IProcessorService {
268
269
  recipient_workspace_id: string;
269
270
  product_env_mapping?: IProductAppEnvs | null;
270
271
  }): Promise<any>;
271
- processRequest(payload: IRetryMeta, event: IFeatureEvent, retries: IAppRetryPolicy, additional_logs: Partial<ILogData>, returnValue?: boolean): Promise<true | IProcessingFailure | {
272
+ processRequest(payload: IRetryMeta, event: IStepEvent, retries: IAppRetryPolicy, additional_logs: Partial<ILogData>, returnValue?: boolean): Promise<true | IProcessingFailure | {
272
273
  process_id: string;
273
274
  status: boolean;
274
275
  data: {
@@ -304,9 +305,9 @@ export default class ProcessorService implements IProcessorService {
304
305
  data?: undefined;
305
306
  }>;
306
307
  processPricingCost(additional_logs: Partial<ILogData>): Promise<IPricingResult>;
307
- addToSuccessOutput(event: IFeatureEvent, output: any, additional_logs: Partial<ILogData>): Promise<void>;
308
+ addToSuccessOutput(event: IStepEvent, output: any, additional_logs: Partial<ILogData>): Promise<void>;
308
309
  checkIsSuccessful(): boolean;
309
- addToFailureOutput(e: any, event: IFeatureEvent, payload: IRetryMeta | any, additional_logs: Partial<ILogData>, policy?: Partial<IAppRetryPolicy>): Promise<IProcessingFailure>;
310
+ addToFailureOutput(e: any, event: IStepEvent, payload: IRetryMeta | any, additional_logs: Partial<ILogData>, policy?: Partial<IAppRetryPolicy>): Promise<IProcessingFailure>;
310
311
  generateRetryMetrices(error_code: string, retries: IAppRetryPolicy): {
311
312
  allow_fail: boolean;
312
313
  max: number;
@@ -352,7 +353,7 @@ export default class ProcessorService implements IProcessorService {
352
353
  workspaceId?: string;
353
354
  product?: string;
354
355
  }): Promise<void>;
355
- runNotification(notification: IFeatureEvent, additional_logs: Partial<ILogData>, bootstrapData?: {
356
+ runNotification(notification: IStepEvent, additional_logs: Partial<ILogData>, bootstrapData?: {
356
357
  notification: any;
357
358
  message: any;
358
359
  env_config: any;
@@ -362,16 +363,16 @@ export default class ProcessorService implements IProcessorService {
362
363
  session?: string;
363
364
  cache?: string;
364
365
  }): Promise<void>;
365
- runStorage(data: IFeatureEvent, additional_logs?: Partial<ILogData>, bootstrapData?: {
366
+ runStorage(data: IStepEvent, additional_logs?: Partial<ILogData>, bootstrapData?: {
366
367
  storage: any;
367
368
  storage_env: any;
368
369
  private_key?: string;
369
370
  }): Promise<any>;
370
- runBrokerSubscribe(data: IFeatureEvent, additional_logs?: Partial<ILogData>): Promise<void>;
371
- runBrokerPublish(data: IFeatureEvent, additional_logs?: Partial<ILogData>): Promise<{
371
+ runBrokerSubscribe(data: IStepEvent, additional_logs?: Partial<ILogData>): Promise<void>;
372
+ runBrokerPublish(data: IStepEvent, additional_logs?: Partial<ILogData>): Promise<{
372
373
  published: boolean;
373
374
  }>;
374
- processStorageRequest(data: IFeatureEvent, input: IStorageRequest, storageEnv: IProductStorageEnvs, additional_logs: Partial<ILogData>, decryptionKey?: string): Promise<IProcessingFailure | {
375
+ processStorageRequest(data: IStepEvent, input: IStorageRequest, storageEnv: IProductStorageEnvs, additional_logs: Partial<ILogData>, decryptionKey?: string): Promise<IProcessingFailure | {
375
376
  url: string;
376
377
  }>;
377
378
  writeResult(status: LogEventStatus, retryable?: boolean): Promise<void>;
@@ -392,7 +393,7 @@ export default class ProcessorService implements IProcessorService {
392
393
  * Only applies credentials if the action schema defines the corresponding field.
393
394
  */
394
395
  private applyPrefixedCredentials;
395
- validateActionDataMappingInput(input: any, type: FeatureEventTypes | WebhookEventTypes): Promise<void>;
396
+ validateActionDataMappingInput(input: any, type: StepEventTypes | WebhookEventTypes): Promise<void>;
396
397
  processAction(action: IActionProcessorInput): Promise<any>;
397
398
  processNotification(action: INotificationProcessorInput): Promise<{
398
399
  process_id: string;