@ductape/sdk 0.0.4-v55 → 0.0.4-v57

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.
@@ -4,10 +4,47 @@
4
4
  *
5
5
  * Code-first API for defining and managing healthchecks.
6
6
  */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
7
43
  Object.defineProperty(exports, "__esModule", { value: true });
8
44
  exports.HealthcheckService = exports.HealthcheckError = void 0;
9
45
  const types_1 = require("./types");
10
46
  const resilienceApi_service_1 = require("../api/services/resilienceApi.service");
47
+ const processor_service_1 = __importDefault(require("../processor/services/processor.service"));
11
48
  /**
12
49
  * Error class for healthcheck operations
13
50
  */
@@ -107,6 +144,15 @@ class RecordingProbeBuilder {
107
144
  workflow(tag) {
108
145
  return new RecordingWorkflowProbeBuilder(this.ctx, tag);
109
146
  }
147
+ graph(tag) {
148
+ return new RecordingGraphProbeBuilder(this.ctx, tag);
149
+ }
150
+ messageBroker(tag) {
151
+ return new RecordingMessageBrokerProbeBuilder(this.ctx, tag);
152
+ }
153
+ storage(tag) {
154
+ return new RecordingStorageProbeBuilder(this.ctx, tag);
155
+ }
110
156
  }
111
157
  class RecordingAppProbeBuilder {
112
158
  constructor(ctx, appTag) {
@@ -181,6 +227,96 @@ class RecordingWorkflowProbeBuilder {
181
227
  });
182
228
  }
183
229
  }
230
+ class RecordingGraphProbeBuilder {
231
+ constructor(ctx, graphTag) {
232
+ this.ctx = ctx;
233
+ this.graphTag = graphTag;
234
+ }
235
+ action(event) {
236
+ return new RecordingGraphProbeActionBuilder(this.ctx, this.graphTag, event);
237
+ }
238
+ }
239
+ class RecordingGraphProbeActionBuilder {
240
+ constructor(ctx, graphTag, event) {
241
+ this.ctx = ctx;
242
+ this.graphTag = graphTag;
243
+ this.event = event;
244
+ // Set probe immediately (input is optional)
245
+ this.ctx.setProbe({
246
+ type: types_1.ProbeType.GRAPH,
247
+ graph: this.graphTag,
248
+ event: this.event,
249
+ });
250
+ }
251
+ input(data) {
252
+ this.ctx.setProbe({
253
+ type: types_1.ProbeType.GRAPH,
254
+ graph: this.graphTag,
255
+ event: this.event,
256
+ input: data,
257
+ });
258
+ }
259
+ }
260
+ class RecordingMessageBrokerProbeBuilder {
261
+ constructor(ctx, brokerTag) {
262
+ this.ctx = ctx;
263
+ this.brokerTag = brokerTag;
264
+ }
265
+ action(event) {
266
+ return new RecordingMessageBrokerProbeActionBuilder(this.ctx, this.brokerTag, event);
267
+ }
268
+ }
269
+ class RecordingMessageBrokerProbeActionBuilder {
270
+ constructor(ctx, brokerTag, event) {
271
+ this.ctx = ctx;
272
+ this.brokerTag = brokerTag;
273
+ this.event = event;
274
+ // Set probe immediately (input is optional)
275
+ this.ctx.setProbe({
276
+ type: types_1.ProbeType.MESSAGE_BROKER,
277
+ messageBroker: this.brokerTag,
278
+ event: this.event,
279
+ });
280
+ }
281
+ input(data) {
282
+ this.ctx.setProbe({
283
+ type: types_1.ProbeType.MESSAGE_BROKER,
284
+ messageBroker: this.brokerTag,
285
+ event: this.event,
286
+ input: data,
287
+ });
288
+ }
289
+ }
290
+ class RecordingStorageProbeBuilder {
291
+ constructor(ctx, storageTag) {
292
+ this.ctx = ctx;
293
+ this.storageTag = storageTag;
294
+ }
295
+ action(event) {
296
+ return new RecordingStorageProbeActionBuilder(this.ctx, this.storageTag, event);
297
+ }
298
+ }
299
+ class RecordingStorageProbeActionBuilder {
300
+ constructor(ctx, storageTag, event) {
301
+ this.ctx = ctx;
302
+ this.storageTag = storageTag;
303
+ this.event = event;
304
+ // Set probe immediately (input is optional)
305
+ this.ctx.setProbe({
306
+ type: types_1.ProbeType.STORAGE,
307
+ storage: this.storageTag,
308
+ event: this.event,
309
+ });
310
+ }
311
+ input(data) {
312
+ this.ctx.setProbe({
313
+ type: types_1.ProbeType.STORAGE,
314
+ storage: this.storageTag,
315
+ event: this.event,
316
+ input: data,
317
+ });
318
+ }
319
+ }
184
320
  /**
185
321
  * Failure notification builder
186
322
  */
@@ -259,12 +395,27 @@ class RecordingNotificationChannelBuilder {
259
395
  */
260
396
  class HealthcheckService {
261
397
  constructor(config) {
398
+ this.config = config;
262
399
  this.apiService = new resilienceApi_service_1.ResilienceApiService({
263
400
  token: config.token,
264
401
  env_type: config.env_type,
265
402
  base_url: config.base_url,
266
403
  });
267
404
  }
405
+ /**
406
+ * Creates a ProcessorService instance for local execution
407
+ */
408
+ createProcessor() {
409
+ return new processor_service_1.default({
410
+ workspace_id: this.config.workspace_id,
411
+ public_key: this.config.public_key,
412
+ user_id: this.config.user_id,
413
+ token: this.config.token,
414
+ env_type: this.config.env_type,
415
+ redis_client: this.config.redis_client,
416
+ queues: this.config.queues,
417
+ });
418
+ }
268
419
  /**
269
420
  * Define a healthcheck using code-first API
270
421
  *
@@ -363,9 +514,413 @@ class HealthcheckService {
363
514
  }
364
515
  /**
365
516
  * Manually trigger a healthcheck
517
+ *
518
+ * Executes the healthcheck locally using the ProcessorService and caches
519
+ * the result in Redis for status tracking. On failure, triggers configured
520
+ * notifications, webhooks, and event emissions.
521
+ *
522
+ * Supports the following probe types:
523
+ * - APP: Executes an app action (supports OAuth auto-refresh)
524
+ * - DATABASE: Tests database connection
525
+ * - GRAPH: Tests graph database connection
526
+ * - MESSAGE_BROKER: Tests message broker connection
527
+ * - STORAGE: Tests object storage connection
528
+ * - WORKFLOW: Executes a workflow and checks completion status
366
529
  */
367
530
  async run(options) {
368
- return await this.apiService.runHealthcheck(options.product, options.tag, options.env);
531
+ var _a, _b, _c, _d, _e;
532
+ // Fetch the healthcheck configuration
533
+ const healthcheck = await this.fetch(options.product, options.tag);
534
+ // Find the environment configuration
535
+ const envConfig = (_a = healthcheck.envs) === null || _a === void 0 ? void 0 : _a.find((e) => e.slug === options.env);
536
+ // Execute via processor
537
+ const processor = this.createProcessor();
538
+ const startTime = Date.now();
539
+ // Determine probe type and execute accordingly
540
+ let result;
541
+ const probeType = ((_b = healthcheck.probe) === null || _b === void 0 ? void 0 : _b.type) || types_1.ProbeType.APP;
542
+ if (probeType === types_1.ProbeType.DATABASE) {
543
+ // Database healthcheck - test connection
544
+ result = await this.executeDatabaseProbe(healthcheck, options.product, options.env, startTime);
545
+ }
546
+ else if (probeType === types_1.ProbeType.GRAPH) {
547
+ // Graph healthcheck - test connection
548
+ result = await this.executeGraphProbe(healthcheck, options.product, options.env, startTime);
549
+ }
550
+ else if (probeType === types_1.ProbeType.MESSAGE_BROKER) {
551
+ // Message broker healthcheck - test connection
552
+ result = await this.executeMessageBrokerProbe(healthcheck, options.product, options.env, startTime);
553
+ }
554
+ else if (probeType === types_1.ProbeType.APP) {
555
+ // App healthcheck - execute app action
556
+ const actionData = {
557
+ env: options.env,
558
+ product: options.product,
559
+ app: ((_c = healthcheck.probe) === null || _c === void 0 ? void 0 : _c.app) || healthcheck.app,
560
+ input: (envConfig === null || envConfig === void 0 ? void 0 : envConfig.input) || ((_d = healthcheck.probe) === null || _d === void 0 ? void 0 : _d.input) || {},
561
+ action: ((_e = healthcheck.probe) === null || _e === void 0 ? void 0 : _e.event) || healthcheck.event,
562
+ retries: healthcheck.retries || 0,
563
+ };
564
+ result = await processor.processAction(actionData);
565
+ result = {
566
+ status: result ? 'available' : 'unavailable',
567
+ latency: Date.now() - startTime,
568
+ };
569
+ }
570
+ else if (probeType === types_1.ProbeType.WORKFLOW) {
571
+ // Workflow healthcheck - execute workflow
572
+ result = await this.executeWorkflowProbe(healthcheck, options.product, options.env, startTime);
573
+ }
574
+ else if (probeType === types_1.ProbeType.STORAGE) {
575
+ // Storage healthcheck - test connection
576
+ result = await this.executeStorageProbe(healthcheck, options.product, options.env, startTime);
577
+ }
578
+ // Build cache data with healthcheck tag for Redis key
579
+ const cacheData = {
580
+ healthcheck: options.tag,
581
+ env: options.env,
582
+ product: options.product,
583
+ };
584
+ // Determine if healthcheck failed
585
+ const isFailure = !result || result.status === 'unavailable' || result.status === 'error' || result.status === 'unknown';
586
+ // Write result to Redis cache
587
+ const healthcheckResult = Object.assign({ status: (result === null || result === void 0 ? void 0 : result.status) || 'unknown', checkedAt: new Date().toISOString(), latency: (result === null || result === void 0 ? void 0 : result.latency) || 0 }, result);
588
+ await processor.writeHealthcheckResultToCache(cacheData, healthcheckResult);
589
+ // Handle failure notifications if configured
590
+ if (isFailure && healthcheck.onFailure) {
591
+ await this.handleFailureNotifications(processor, healthcheck.onFailure, options, healthcheckResult);
592
+ }
593
+ return healthcheckResult;
594
+ }
595
+ /**
596
+ * Handles failure notifications for a healthcheck
597
+ */
598
+ async handleFailureNotifications(processor, onFailure, options, result) {
599
+ const failureContext = {
600
+ healthcheck: options.tag,
601
+ product: options.product,
602
+ env: options.env,
603
+ status: result.status,
604
+ timestamp: result.checkedAt,
605
+ };
606
+ // Process notifications via processor service
607
+ if (onFailure.notifications && onFailure.notifications.length > 0) {
608
+ for (const notification of onFailure.notifications) {
609
+ try {
610
+ // Build notification input with channel-specific recipients
611
+ const notificationInput = Object.assign({}, failureContext);
612
+ // Add channel-specific data
613
+ if (notification.channels.email) {
614
+ notificationInput.email = notification.channels.email;
615
+ }
616
+ if (notification.channels.sms) {
617
+ notificationInput.sms = notification.channels.sms;
618
+ }
619
+ if (notification.channels.push) {
620
+ notificationInput.push = notification.channels.push;
621
+ }
622
+ if (notification.channels.callback) {
623
+ notificationInput.callback = notification.channels.callback;
624
+ }
625
+ await processor.processNotification({
626
+ env: options.env,
627
+ product: options.product,
628
+ event: `${notification.notification}:${notification.message}`,
629
+ input: notificationInput,
630
+ retries: 2,
631
+ });
632
+ }
633
+ catch (error) {
634
+ // Log but don't throw - notification failures shouldn't break the healthcheck
635
+ console.error(`Failed to send notification for healthcheck ${options.tag}:`, error);
636
+ }
637
+ }
638
+ }
639
+ // Process webhooks
640
+ if (onFailure.webhooks && onFailure.webhooks.length > 0) {
641
+ for (const webhook of onFailure.webhooks) {
642
+ try {
643
+ const axios = (await Promise.resolve().then(() => __importStar(require('axios')))).default;
644
+ await axios({
645
+ method: webhook.method || 'POST',
646
+ url: webhook.url,
647
+ headers: webhook.headers,
648
+ data: Object.assign(Object.assign({}, failureContext), webhook.body),
649
+ timeout: 10000,
650
+ });
651
+ }
652
+ catch (error) {
653
+ // Log but don't throw - webhook failures shouldn't break the healthcheck
654
+ console.error(`Failed to call webhook for healthcheck ${options.tag}:`, error);
655
+ }
656
+ }
657
+ }
658
+ // Process event emissions (emit to message broker if configured)
659
+ if (onFailure.emit && onFailure.emit.length > 0) {
660
+ for (const emission of onFailure.emit) {
661
+ try {
662
+ // Emit events via message broker if available
663
+ await processor.processMessageBrokerPublish({
664
+ env: options.env,
665
+ product: options.product,
666
+ event: emission.event,
667
+ input: {
668
+ message: Object.assign(Object.assign({}, failureContext), emission.data),
669
+ },
670
+ });
671
+ }
672
+ catch (error) {
673
+ // Log but don't throw - emit failures shouldn't break the healthcheck
674
+ console.error(`Failed to emit event for healthcheck ${options.tag}:`, error);
675
+ }
676
+ }
677
+ }
678
+ }
679
+ /**
680
+ * Execute a database healthcheck probe by testing the connection
681
+ */
682
+ async executeDatabaseProbe(healthcheck, product, env, startTime) {
683
+ var _a;
684
+ const databaseTag = (_a = healthcheck.probe) === null || _a === void 0 ? void 0 : _a.database;
685
+ if (!databaseTag) {
686
+ throw new HealthcheckError('Database healthcheck requires a database tag in the probe configuration', 'MISSING_DATABASE_TAG');
687
+ }
688
+ try {
689
+ // Dynamically import DatabaseService to avoid circular dependencies
690
+ const { DatabaseService } = await Promise.resolve().then(() => __importStar(require('../database/databases.service')));
691
+ const dbService = new DatabaseService({
692
+ workspace_id: this.config.workspace_id,
693
+ public_key: this.config.public_key,
694
+ user_id: this.config.user_id,
695
+ token: this.config.token,
696
+ env_type: this.config.env_type,
697
+ });
698
+ // Test the database connection
699
+ const connectionResult = await dbService.testConnection({
700
+ product,
701
+ env,
702
+ database: databaseTag,
703
+ });
704
+ const latency = Date.now() - startTime;
705
+ if (connectionResult.connected) {
706
+ return {
707
+ status: 'available',
708
+ latency,
709
+ };
710
+ }
711
+ else {
712
+ return {
713
+ status: 'unavailable',
714
+ latency,
715
+ };
716
+ }
717
+ }
718
+ catch (error) {
719
+ const latency = Date.now() - startTime;
720
+ return {
721
+ status: 'unavailable',
722
+ latency,
723
+ };
724
+ }
725
+ }
726
+ /**
727
+ * Execute a graph healthcheck probe by testing the connection
728
+ */
729
+ async executeGraphProbe(healthcheck, product, env, startTime) {
730
+ var _a;
731
+ const graphTag = (_a = healthcheck.probe) === null || _a === void 0 ? void 0 : _a.graph;
732
+ if (!graphTag) {
733
+ throw new HealthcheckError('Graph healthcheck requires a graph tag in the probe configuration', 'MISSING_GRAPH_TAG');
734
+ }
735
+ try {
736
+ // Dynamically import GraphService to avoid circular dependencies
737
+ const { GraphService } = await Promise.resolve().then(() => __importStar(require('../graph/graphs.service')));
738
+ const graphService = new GraphService({
739
+ workspace_id: this.config.workspace_id,
740
+ public_key: this.config.public_key,
741
+ user_id: this.config.user_id,
742
+ token: this.config.token,
743
+ env_type: this.config.env_type,
744
+ });
745
+ // Test the graph connection
746
+ const connectionResult = await graphService.testConnection({
747
+ product,
748
+ env,
749
+ graph: graphTag,
750
+ });
751
+ const latency = Date.now() - startTime;
752
+ if (connectionResult.connected) {
753
+ return {
754
+ status: 'available',
755
+ latency,
756
+ };
757
+ }
758
+ else {
759
+ return {
760
+ status: 'unavailable',
761
+ latency,
762
+ };
763
+ }
764
+ }
765
+ catch (error) {
766
+ const latency = Date.now() - startTime;
767
+ return {
768
+ status: 'unavailable',
769
+ latency,
770
+ };
771
+ }
772
+ }
773
+ /**
774
+ * Execute a message broker healthcheck probe by testing the connection
775
+ */
776
+ async executeMessageBrokerProbe(healthcheck, product, env, startTime) {
777
+ var _a;
778
+ const brokerTag = (_a = healthcheck.probe) === null || _a === void 0 ? void 0 : _a.messageBroker;
779
+ if (!brokerTag) {
780
+ throw new HealthcheckError('Message broker healthcheck requires a messageBroker tag in the probe configuration', 'MISSING_MESSAGE_BROKER_TAG');
781
+ }
782
+ try {
783
+ // Dynamically import BrokersService to avoid circular dependencies
784
+ const { BrokersService } = await Promise.resolve().then(() => __importStar(require('../brokers/brokers.service')));
785
+ const brokersService = new BrokersService({
786
+ workspace_id: this.config.workspace_id,
787
+ public_key: this.config.public_key,
788
+ user_id: this.config.user_id,
789
+ token: this.config.token,
790
+ env_type: this.config.env_type,
791
+ });
792
+ // Test the broker connection by attempting to get broker config
793
+ // This validates broker exists and credentials are correct
794
+ const connectionResult = await brokersService.testConnection({
795
+ product,
796
+ env,
797
+ broker: brokerTag,
798
+ });
799
+ const latency = Date.now() - startTime;
800
+ if (connectionResult.connected) {
801
+ return {
802
+ status: 'available',
803
+ latency,
804
+ };
805
+ }
806
+ else {
807
+ return {
808
+ status: 'unavailable',
809
+ latency,
810
+ };
811
+ }
812
+ }
813
+ catch (error) {
814
+ const latency = Date.now() - startTime;
815
+ return {
816
+ status: 'unavailable',
817
+ latency,
818
+ };
819
+ }
820
+ }
821
+ /**
822
+ * Execute a workflow healthcheck probe by running the workflow
823
+ *
824
+ * Workflow healthchecks execute the workflow with the provided input
825
+ * and check if it completes successfully. This is useful for testing
826
+ * end-to-end workflow functionality.
827
+ */
828
+ async executeWorkflowProbe(healthcheck, product, env, startTime) {
829
+ var _a, _b;
830
+ const workflowTag = (_a = healthcheck.probe) === null || _a === void 0 ? void 0 : _a.workflow;
831
+ if (!workflowTag) {
832
+ throw new HealthcheckError('Workflow healthcheck requires a workflow tag in the probe configuration', 'MISSING_WORKFLOW_TAG');
833
+ }
834
+ try {
835
+ // Dynamically import WorkflowService to avoid circular dependencies
836
+ const { WorkflowService } = await Promise.resolve().then(() => __importStar(require('../workflows/workflows.service')));
837
+ const workflowService = new WorkflowService({
838
+ workspace_id: this.config.workspace_id,
839
+ public_key: this.config.public_key,
840
+ user_id: this.config.user_id,
841
+ token: this.config.token,
842
+ env_type: this.config.env_type,
843
+ });
844
+ // Execute the workflow with the configured input
845
+ const input = ((_b = healthcheck.probe) === null || _b === void 0 ? void 0 : _b.input) || {};
846
+ const result = await workflowService.execute({
847
+ product,
848
+ env,
849
+ tag: workflowTag,
850
+ input,
851
+ });
852
+ const latency = Date.now() - startTime;
853
+ // Check if workflow completed successfully
854
+ if (result.status === 'completed') {
855
+ return {
856
+ status: 'available',
857
+ latency,
858
+ };
859
+ }
860
+ else {
861
+ return {
862
+ status: 'unavailable',
863
+ latency,
864
+ };
865
+ }
866
+ }
867
+ catch (error) {
868
+ const latency = Date.now() - startTime;
869
+ return {
870
+ status: 'unavailable',
871
+ latency,
872
+ };
873
+ }
874
+ }
875
+ /**
876
+ * Execute a storage healthcheck probe by testing the connection
877
+ *
878
+ * Storage healthchecks attempt to list objects (with limit 1) to verify
879
+ * connectivity and credentials are working correctly.
880
+ */
881
+ async executeStorageProbe(healthcheck, product, env, startTime) {
882
+ var _a;
883
+ const storageTag = (_a = healthcheck.probe) === null || _a === void 0 ? void 0 : _a.storage;
884
+ if (!storageTag) {
885
+ throw new HealthcheckError('Storage healthcheck requires a storage tag in the probe configuration', 'MISSING_STORAGE_TAG');
886
+ }
887
+ try {
888
+ // Dynamically import StorageService to avoid circular dependencies
889
+ const { StorageService } = await Promise.resolve().then(() => __importStar(require('../storage/storage.service')));
890
+ const storageService = new StorageService({
891
+ workspace_id: this.config.workspace_id,
892
+ public_key: this.config.public_key,
893
+ user_id: this.config.user_id,
894
+ token: this.config.token,
895
+ env_type: this.config.env_type,
896
+ });
897
+ // Test the storage connection
898
+ const connectionResult = await storageService.testConnection({
899
+ product,
900
+ env,
901
+ storage: storageTag,
902
+ });
903
+ const latency = Date.now() - startTime;
904
+ if (connectionResult.connected) {
905
+ return {
906
+ status: 'available',
907
+ latency,
908
+ };
909
+ }
910
+ else {
911
+ return {
912
+ status: 'unavailable',
913
+ latency,
914
+ };
915
+ }
916
+ }
917
+ catch (error) {
918
+ const latency = Date.now() - startTime;
919
+ return {
920
+ status: 'unavailable',
921
+ latency,
922
+ };
923
+ }
369
924
  }
370
925
  /**
371
926
  * @deprecated Use run() instead
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheck.service.js","sourceRoot":"","sources":["../../src/resilience/healthcheck.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"healthcheck.service.js","sourceRoot":"","sources":["../../src/resilience/healthcheck.service.ts"],"names":[],"mappings":"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"}