@flowcore/data-pump 0.19.1 → 0.21.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.21.0](https://github.com/flowcore-io/data-pump/compare/v0.20.0...v0.21.0) (2026-04-24)
4
+
5
+
6
+ ### Features
7
+
8
+ * thread sourceId through PulseEmitter ([#70](https://github.com/flowcore-io/data-pump/issues/70)) ([119f364](https://github.com/flowcore-io/data-pump/commit/119f3641fc3c9360b8581e512dcb6ebbb6e4cda1))
9
+
10
+ ## [0.20.0](https://github.com/flowcore-io/data-pump/compare/v0.19.1...v0.20.0) (2026-04-08)
11
+
12
+
13
+ ### Features
14
+
15
+ * configurable log levels for pulse success and failure ([#68](https://github.com/flowcore-io/data-pump/issues/68)) ([71fe82a](https://github.com/flowcore-io/data-pump/commit/71fe82a0a9976b018fd71d5fd54b98cf9b6d5017))
16
+
3
17
  ## [0.19.1](https://github.com/flowcore-io/data-pump/compare/v0.19.0...v0.19.1) (2026-03-31)
4
18
 
5
19
 
@@ -36,6 +36,11 @@ export interface FlowcoreDataPumpOptions {
36
36
  url: string;
37
37
  intervalMs?: number;
38
38
  pathwayId: string;
39
+ sourceId?: string;
40
+ /** Log level for successful pulses. Defaults to 'debug'. */
41
+ successLogLevel?: "debug" | "info" | "warn" | "error";
42
+ /** Log level for pulse failures. Defaults to 'warn'. */
43
+ failureLogLevel?: "debug" | "info" | "warn" | "error";
39
44
  };
40
45
  }
41
46
  export declare class FlowcoreDataPump {
@@ -1 +1 @@
1
- {"version":3,"file":"data-pump.d.ts","sourceRoot":"","sources":["../../src/data-pump/data-pump.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-pump.d.ts","sourceRoot":"","sources":["../../src/data-pump/data-pump.ts"],"names":[],"mappings":"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"}
@@ -210,15 +210,20 @@ export class FlowcoreDataPump {
210
210
  }, options.logger);
211
211
  if (options.pulse) {
212
212
  const pathwayId = options.pulse.pathwayId;
213
+ const sourceId = options.pulse.sourceId;
213
214
  pump.pulseEmitter = new PulseEmitter({
214
215
  url: options.pulse.url,
215
216
  intervalMs: options.pulse.intervalMs,
216
217
  auth: options.auth,
217
218
  logger: options.logger,
219
+ successLogLevel: options.pulse.successLogLevel,
220
+ failureLogLevel: options.pulse.failureLogLevel,
218
221
  }, () => {
219
222
  const snapshot = pump.getSnapshot();
220
- if (snapshot)
223
+ if (snapshot) {
221
224
  snapshot.pathwayId = pathwayId;
225
+ snapshot.sourceId = sourceId;
226
+ }
222
227
  return snapshot;
223
228
  });
224
229
  }
@@ -1,12 +1,21 @@
1
1
  import type { FlowcoreDataPumpAuth, FlowcoreLogger } from "./types.js";
2
+ /**
3
+ * Log level for pulse emitter events. Corresponds to FlowcoreLogger methods.
4
+ */
5
+ export type PulseLogLevel = "debug" | "info" | "warn" | "error";
2
6
  export interface PulseEmitterOptions {
3
7
  url: string;
4
8
  intervalMs?: number;
5
9
  auth: FlowcoreDataPumpAuth;
6
10
  logger?: FlowcoreLogger;
11
+ /** Log level for successful pulses. Defaults to 'debug'. */
12
+ successLogLevel?: PulseLogLevel;
13
+ /** Log level for pulse failures. Defaults to 'warn'. */
14
+ failureLogLevel?: PulseLogLevel;
7
15
  }
8
16
  export interface PulseSnapshot {
9
17
  pathwayId: string;
18
+ sourceId?: string;
10
19
  flowType: string;
11
20
  timeBucket: string;
12
21
  eventId: string | undefined;
@@ -26,6 +35,8 @@ export declare class PulseEmitter {
26
35
  private startTimeout;
27
36
  private readonly intervalMs;
28
37
  private readonly logger?;
38
+ private readonly successLogLevel;
39
+ private readonly failureLogLevel;
29
40
  constructor(options: PulseEmitterOptions, getSnapshot: () => PulseSnapshot | null);
30
41
  start(): void;
31
42
  stop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/data-pump/pulse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGtE,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,oBAAoB,CAAA;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP9B,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB;gBAGrB,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,MAAM,aAAa,GAAG,IAAI;IAM1D,KAAK,IAAI,IAAI;IAYb,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,QAAQ;YAOF,IAAI;CA2BnB"}
1
+ {"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/data-pump/pulse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGtE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE/D,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,oBAAoB,CAAA;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,aAAa,CAAA;IAC/B,wDAAwD;IACxD,eAAe,CAAC,EAAE,aAAa,CAAA;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,YAAY;IASrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAT9B,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;gBAG5B,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,MAAM,aAAa,GAAG,IAAI;IAQ1D,KAAK,IAAI,IAAI;IAYb,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,QAAQ;YAaF,IAAI;CAyCnB"}
@@ -38,8 +38,22 @@ export class PulseEmitter {
38
38
  writable: true,
39
39
  value: void 0
40
40
  });
41
+ Object.defineProperty(this, "successLogLevel", {
42
+ enumerable: true,
43
+ configurable: true,
44
+ writable: true,
45
+ value: void 0
46
+ });
47
+ Object.defineProperty(this, "failureLogLevel", {
48
+ enumerable: true,
49
+ configurable: true,
50
+ writable: true,
51
+ value: void 0
52
+ });
41
53
  this.intervalMs = options.intervalMs ?? 30_000;
42
54
  this.logger = options.logger;
55
+ this.successLogLevel = options.successLogLevel ?? "debug";
56
+ this.failureLogLevel = options.failureLogLevel ?? "warn";
43
57
  }
44
58
  start() {
45
59
  if (this.interval || this.startTimeout)
@@ -64,8 +78,14 @@ export class PulseEmitter {
64
78
  }
65
79
  emitSafe() {
66
80
  this.emit().catch((err) => {
81
+ const snapshot = this.getSnapshot();
67
82
  const msg = err instanceof Error ? err.message : String(err);
68
- this.logger?.warn?.(`Pulse emission failed: ${msg}`);
83
+ this.logger?.[this.failureLogLevel]?.("Pulse emission failed", {
84
+ error: msg,
85
+ url: this.options.url,
86
+ pathwayId: snapshot?.pathwayId,
87
+ flowType: snapshot?.flowType,
88
+ });
69
89
  });
70
90
  }
71
91
  async emit() {
@@ -73,8 +93,13 @@ export class PulseEmitter {
73
93
  if (!snapshot)
74
94
  return;
75
95
  const client = getFlowcoreClient(this.options.auth, this.options.url);
76
- await client.execute(new SendPumpPulseCommand({
96
+ // sourceId is accepted by the server (data-pathways CP) and added to
97
+ // @flowcore/sdk's SendPumpPulseInput on the 3.x train. data-pump is still
98
+ // pinned to sdk ^1.78.0, so we widen the literal type locally until the
99
+ // sdk-3 migration lands. Remove the cast then.
100
+ const input = {
77
101
  pathwayId: snapshot.pathwayId,
102
+ sourceId: snapshot.sourceId,
78
103
  flowType: snapshot.flowType,
79
104
  timeBucket: snapshot.timeBucket,
80
105
  eventId: snapshot.eventId ?? null,
@@ -90,6 +115,14 @@ export class PulseEmitter {
90
115
  pulled: snapshot.pulledTotal,
91
116
  },
92
117
  uptimeMs: snapshot.uptimeMs,
93
- }));
118
+ };
119
+ await client.execute(new SendPumpPulseCommand(input));
120
+ this.logger?.[this.successLogLevel]?.("Pulse sent", {
121
+ pathwayId: snapshot.pathwayId,
122
+ flowType: snapshot.flowType,
123
+ timeBucket: snapshot.timeBucket,
124
+ isLive: snapshot.isLive,
125
+ bufferDepth: snapshot.bufferDepth,
126
+ });
94
127
  }
95
128
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowcore/data-pump",
3
- "version": "0.19.1",
3
+ "version": "0.21.0",
4
4
  "description": "Flowcore Data Pump",
5
5
  "homepage": "https://github.com/flowcore-io/flowcore-data-pump#readme",
6
6
  "repository": {
@@ -36,6 +36,11 @@ export interface FlowcoreDataPumpOptions {
36
36
  url: string;
37
37
  intervalMs?: number;
38
38
  pathwayId: string;
39
+ sourceId?: string;
40
+ /** Log level for successful pulses. Defaults to 'debug'. */
41
+ successLogLevel?: "debug" | "info" | "warn" | "error";
42
+ /** Log level for pulse failures. Defaults to 'warn'. */
43
+ failureLogLevel?: "debug" | "info" | "warn" | "error";
39
44
  };
40
45
  }
41
46
  export declare class FlowcoreDataPump {
@@ -1 +1 @@
1
- {"version":3,"file":"data-pump.d.ts","sourceRoot":"","sources":["../../src/data-pump/data-pump.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-pump.d.ts","sourceRoot":"","sources":["../../src/data-pump/data-pump.ts"],"names":[],"mappings":"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"}
@@ -213,15 +213,20 @@ class FlowcoreDataPump {
213
213
  }, options.logger);
214
214
  if (options.pulse) {
215
215
  const pathwayId = options.pulse.pathwayId;
216
+ const sourceId = options.pulse.sourceId;
216
217
  pump.pulseEmitter = new pulse_js_1.PulseEmitter({
217
218
  url: options.pulse.url,
218
219
  intervalMs: options.pulse.intervalMs,
219
220
  auth: options.auth,
220
221
  logger: options.logger,
222
+ successLogLevel: options.pulse.successLogLevel,
223
+ failureLogLevel: options.pulse.failureLogLevel,
221
224
  }, () => {
222
225
  const snapshot = pump.getSnapshot();
223
- if (snapshot)
226
+ if (snapshot) {
224
227
  snapshot.pathwayId = pathwayId;
228
+ snapshot.sourceId = sourceId;
229
+ }
225
230
  return snapshot;
226
231
  });
227
232
  }
@@ -1,12 +1,21 @@
1
1
  import type { FlowcoreDataPumpAuth, FlowcoreLogger } from "./types.js";
2
+ /**
3
+ * Log level for pulse emitter events. Corresponds to FlowcoreLogger methods.
4
+ */
5
+ export type PulseLogLevel = "debug" | "info" | "warn" | "error";
2
6
  export interface PulseEmitterOptions {
3
7
  url: string;
4
8
  intervalMs?: number;
5
9
  auth: FlowcoreDataPumpAuth;
6
10
  logger?: FlowcoreLogger;
11
+ /** Log level for successful pulses. Defaults to 'debug'. */
12
+ successLogLevel?: PulseLogLevel;
13
+ /** Log level for pulse failures. Defaults to 'warn'. */
14
+ failureLogLevel?: PulseLogLevel;
7
15
  }
8
16
  export interface PulseSnapshot {
9
17
  pathwayId: string;
18
+ sourceId?: string;
10
19
  flowType: string;
11
20
  timeBucket: string;
12
21
  eventId: string | undefined;
@@ -26,6 +35,8 @@ export declare class PulseEmitter {
26
35
  private startTimeout;
27
36
  private readonly intervalMs;
28
37
  private readonly logger?;
38
+ private readonly successLogLevel;
39
+ private readonly failureLogLevel;
29
40
  constructor(options: PulseEmitterOptions, getSnapshot: () => PulseSnapshot | null);
30
41
  start(): void;
31
42
  stop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/data-pump/pulse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGtE,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,oBAAoB,CAAA;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP9B,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB;gBAGrB,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,MAAM,aAAa,GAAG,IAAI;IAM1D,KAAK,IAAI,IAAI;IAYb,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,QAAQ;YAOF,IAAI;CA2BnB"}
1
+ {"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/data-pump/pulse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGtE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE/D,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,oBAAoB,CAAA;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,aAAa,CAAA;IAC/B,wDAAwD;IACxD,eAAe,CAAC,EAAE,aAAa,CAAA;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,YAAY;IASrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAT9B,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;gBAG5B,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,MAAM,aAAa,GAAG,IAAI;IAQ1D,KAAK,IAAI,IAAI;IAYb,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,QAAQ;YAaF,IAAI;CAyCnB"}
@@ -41,8 +41,22 @@ class PulseEmitter {
41
41
  writable: true,
42
42
  value: void 0
43
43
  });
44
+ Object.defineProperty(this, "successLogLevel", {
45
+ enumerable: true,
46
+ configurable: true,
47
+ writable: true,
48
+ value: void 0
49
+ });
50
+ Object.defineProperty(this, "failureLogLevel", {
51
+ enumerable: true,
52
+ configurable: true,
53
+ writable: true,
54
+ value: void 0
55
+ });
44
56
  this.intervalMs = options.intervalMs ?? 30_000;
45
57
  this.logger = options.logger;
58
+ this.successLogLevel = options.successLogLevel ?? "debug";
59
+ this.failureLogLevel = options.failureLogLevel ?? "warn";
46
60
  }
47
61
  start() {
48
62
  if (this.interval || this.startTimeout)
@@ -67,8 +81,14 @@ class PulseEmitter {
67
81
  }
68
82
  emitSafe() {
69
83
  this.emit().catch((err) => {
84
+ const snapshot = this.getSnapshot();
70
85
  const msg = err instanceof Error ? err.message : String(err);
71
- this.logger?.warn?.(`Pulse emission failed: ${msg}`);
86
+ this.logger?.[this.failureLogLevel]?.("Pulse emission failed", {
87
+ error: msg,
88
+ url: this.options.url,
89
+ pathwayId: snapshot?.pathwayId,
90
+ flowType: snapshot?.flowType,
91
+ });
72
92
  });
73
93
  }
74
94
  async emit() {
@@ -76,8 +96,13 @@ class PulseEmitter {
76
96
  if (!snapshot)
77
97
  return;
78
98
  const client = (0, flowcore_client_js_1.getFlowcoreClient)(this.options.auth, this.options.url);
79
- await client.execute(new mod_js_1.SendPumpPulseCommand({
99
+ // sourceId is accepted by the server (data-pathways CP) and added to
100
+ // @flowcore/sdk's SendPumpPulseInput on the 3.x train. data-pump is still
101
+ // pinned to sdk ^1.78.0, so we widen the literal type locally until the
102
+ // sdk-3 migration lands. Remove the cast then.
103
+ const input = {
80
104
  pathwayId: snapshot.pathwayId,
105
+ sourceId: snapshot.sourceId,
81
106
  flowType: snapshot.flowType,
82
107
  timeBucket: snapshot.timeBucket,
83
108
  eventId: snapshot.eventId ?? null,
@@ -93,7 +118,15 @@ class PulseEmitter {
93
118
  pulled: snapshot.pulledTotal,
94
119
  },
95
120
  uptimeMs: snapshot.uptimeMs,
96
- }));
121
+ };
122
+ await client.execute(new mod_js_1.SendPumpPulseCommand(input));
123
+ this.logger?.[this.successLogLevel]?.("Pulse sent", {
124
+ pathwayId: snapshot.pathwayId,
125
+ flowType: snapshot.flowType,
126
+ timeBucket: snapshot.timeBucket,
127
+ isLive: snapshot.isLive,
128
+ bufferDepth: snapshot.bufferDepth,
129
+ });
97
130
  }
98
131
  }
99
132
  exports.PulseEmitter = PulseEmitter;