@memberjunction/queue 5.33.0 → 5.34.1

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.
@@ -1,5 +1,6 @@
1
1
  import { UserInfo } from '@memberjunction/core';
2
2
  import { MJQueueEntity, MJQueueTaskEntity } from '@memberjunction/core-entities';
3
+ import { IShutdownable } from '@memberjunction/global';
3
4
  export declare class TaskResult {
4
5
  success: boolean;
5
6
  userMessage: string;
@@ -30,16 +31,38 @@ export declare class TaskBase {
30
31
  get Status(): TaskStatus;
31
32
  set Status(value: TaskStatus);
32
33
  }
33
- export declare abstract class QueueBase {
34
+ export declare abstract class QueueBase implements IShutdownable {
34
35
  private _queue;
35
36
  private _queueTypeId;
36
37
  protected _contextUser: UserInfo;
37
38
  private _maxTasks;
38
39
  private _checkInterval;
39
40
  private _queueRecord;
41
+ private _stopped;
42
+ private _pendingTimer;
40
43
  constructor(QueueRecord: MJQueueEntity, QueueTypeID: string, ContextUser: UserInfo);
41
44
  get QueueID(): string;
42
45
  get QueueTypeID(): string;
46
+ /**
47
+ * `IShutdownable` identity, surfaced in shutdown logs.
48
+ */
49
+ get ShutdownName(): string;
50
+ /**
51
+ * Whether `Stop()` has been invoked. Once stopped, no further `ProcessTasks`
52
+ * iterations are scheduled and `AddTask` is rejected.
53
+ */
54
+ get IsStopped(): boolean;
55
+ /**
56
+ * Stops the recursive `ProcessTasks` loop, cancels any pending timer, and
57
+ * marks the queue as stopped so subsequent `AddTask` calls fail-fast. Idempotent.
58
+ * Implements `IShutdownable.Shutdown` so `ShutdownRegistry.ShutdownAll()` can
59
+ * drain queues during graceful shutdown.
60
+ */
61
+ Stop(): void;
62
+ /**
63
+ * `IShutdownable` entry point. Aliased to `Stop()`.
64
+ */
65
+ Shutdown(): void;
43
66
  private _processing;
44
67
  protected ProcessTasks(): void;
45
68
  AddTask(task: TaskBase): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"QueueBase.d.ts","sourceRoot":"","sources":["../../src/generic/QueueBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIjF,qBAAa,UAAU;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,GAAG,CAAA;IACX,SAAS,EAAE,GAAG,CAAA;CACf;AAGD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAGpE,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,OAAO,CAAkC;IAEjD,IAAW,OAAO,IAAI,WAAW,CAGhC;IACD,IAAW,IAAI,IAAI,GAAG,CAGrB;IACD,IAAW,EAAE,IAAI,MAAM,CAEtB;gBACY,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW;IAM3E,IAAW,UAAU,IAAI,iBAAiB,CAEzC;IAED,IAAW,MAAM,IAAI,UAAU,CAE9B;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,UAAU,EAElC;CAEF;AAGD,8BAAsB,SAAS;IAC7B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAA;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,YAAY,CAAe;gBAEvB,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ;IAMlF,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,OAAO,CAAC,WAAW,CAAkB;IACrC,SAAS,CAAC,YAAY;IA8BtB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAehC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;cAE1E,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IA8B9E,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ;CAGtC"}
1
+ {"version":3,"file":"QueueBase.d.ts","sourceRoot":"","sources":["../../src/generic/QueueBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAc,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGnE,qBAAa,UAAU;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,GAAG,CAAA;IACX,SAAS,EAAE,GAAG,CAAA;CACf;AAGD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAGpE,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,OAAO,CAAkC;IAEjD,IAAW,OAAO,IAAI,WAAW,CAGhC;IACD,IAAW,IAAI,IAAI,GAAG,CAGrB;IACD,IAAW,EAAE,IAAI,MAAM,CAEtB;gBACY,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW;IAM3E,IAAW,UAAU,IAAI,iBAAiB,CAEzC;IAED,IAAW,MAAM,IAAI,UAAU,CAE9B;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,UAAU,EAElC;CAEF;AAGD,8BAAsB,SAAU,YAAW,aAAa;IACtD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAA;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,aAAa,CAA8C;gBAEvD,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ;IAMlF,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;;OAGG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;;;;OAKG;IACI,IAAI,IAAI,IAAI;IAQnB;;OAEG;IACI,QAAQ,IAAI,IAAI;IAIvB,OAAO,CAAC,WAAW,CAAkB;IACrC,SAAS,CAAC,YAAY;IAoCtB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAkBhC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;cAE1E,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IA8B9E,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ;CAGtC"}
@@ -40,6 +40,8 @@ export class QueueBase {
40
40
  this._queue = [];
41
41
  this._maxTasks = 3; // move to metadata or config param
42
42
  this._checkInterval = 250; // move to metadata or config param
43
+ this._stopped = false;
44
+ this._pendingTimer = null;
43
45
  this._processing = false;
44
46
  this._queueRecord = QueueRecord;
45
47
  this._queueTypeId = QueueTypeID;
@@ -51,7 +53,42 @@ export class QueueBase {
51
53
  get QueueTypeID() {
52
54
  return this._queueTypeId;
53
55
  }
56
+ /**
57
+ * `IShutdownable` identity, surfaced in shutdown logs.
58
+ */
59
+ get ShutdownName() {
60
+ return `QueueBase[${this._queueRecord?.Name ?? this._queueTypeId}]`;
61
+ }
62
+ /**
63
+ * Whether `Stop()` has been invoked. Once stopped, no further `ProcessTasks`
64
+ * iterations are scheduled and `AddTask` is rejected.
65
+ */
66
+ get IsStopped() {
67
+ return this._stopped;
68
+ }
69
+ /**
70
+ * Stops the recursive `ProcessTasks` loop, cancels any pending timer, and
71
+ * marks the queue as stopped so subsequent `AddTask` calls fail-fast. Idempotent.
72
+ * Implements `IShutdownable.Shutdown` so `ShutdownRegistry.ShutdownAll()` can
73
+ * drain queues during graceful shutdown.
74
+ */
75
+ Stop() {
76
+ this._stopped = true;
77
+ if (this._pendingTimer) {
78
+ clearTimeout(this._pendingTimer);
79
+ this._pendingTimer = null;
80
+ }
81
+ }
82
+ /**
83
+ * `IShutdownable` entry point. Aliased to `Stop()`.
84
+ */
85
+ Shutdown() {
86
+ this.Stop();
87
+ }
54
88
  ProcessTasks() {
89
+ if (this._stopped) {
90
+ return; // Don't reschedule once stopped.
91
+ }
55
92
  if (!this._processing) {
56
93
  try {
57
94
  this._processing = true;
@@ -73,13 +110,19 @@ export class QueueBase {
73
110
  }
74
111
  finally {
75
112
  this._processing = false;
76
- setTimeout(() => {
77
- this.ProcessTasks();
78
- }, this._checkInterval); // setup the next check
113
+ if (!this._stopped) {
114
+ this._pendingTimer = setTimeout(() => {
115
+ this._pendingTimer = null;
116
+ this.ProcessTasks();
117
+ }, this._checkInterval); // setup the next check
118
+ }
79
119
  }
80
120
  }
81
121
  }
82
122
  AddTask(task) {
123
+ if (this._stopped) {
124
+ return false;
125
+ }
83
126
  try {
84
127
  // Add a task to the queue
85
128
  this._queue.push(task);
@@ -1 +1 @@
1
- {"version":3,"file":"QueueBase.js","sourceRoot":"","sources":["../../src/generic/QueueBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueueBase.js","sourceRoot":"","sources":["../../src/generic/QueueBase.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { TaskBase, QueueBase } from "./QueueBase.js";
2
2
  import { UserInfo } from "@memberjunction/core";
3
3
  import { MJQueueTypeEntity } from "@memberjunction/core-entities";
4
- import { BaseSingleton } from "@memberjunction/global";
4
+ import { BaseSingleton, IShutdownable } from "@memberjunction/global";
5
5
  /**
6
6
  *QueueManager class is a generic manager of all active queues for the process.
7
7
  *
@@ -15,9 +15,17 @@ import { BaseSingleton } from "@memberjunction/global";
15
15
  *information. Heartbeat information is used to determine if a queue has crashed or not by other processes
16
16
  *or not. After a heartbeat timeout is reached, other queues can pick up tasks from a crashed process.
17
17
  */
18
- export declare class QueueManager extends BaseSingleton<QueueManager> {
18
+ export declare class QueueManager extends BaseSingleton<QueueManager> implements IShutdownable {
19
19
  private _queueTypes;
20
20
  private _queues;
21
+ get ShutdownName(): string;
22
+ /**
23
+ * Stop every active queue. Idempotent. Wired to `ShutdownRegistry` so the
24
+ * SIGTERM/SIGINT handler can drain queues during graceful shutdown — without
25
+ * this, each `QueueBase` keeps `setTimeout`-pinning itself indefinitely.
26
+ */
27
+ ShutdownAllQueues(): void;
28
+ Shutdown(): void;
21
29
  static get QueueTypes(): MJQueueTypeEntity[];
22
30
  static get Instance(): QueueManager;
23
31
  private configPromise;
@@ -1 +1 @@
1
- {"version":3,"file":"QueueManager.d.ts","sourceRoot":"","sources":["../../src/generic/QueueManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAA+B,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAoC,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACpG,OAAO,EAAwB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG7E;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAa,SAAQ,aAAa,CAAC,YAAY,CAAC;IAC3D,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,OAAO,CAAmB;IAElC,WAAkB,UAAU,IAAI,iBAAiB,EAAE,CAElD;IAED,WAAkB,QAAQ,IAAI,YAAY,CAEzC;IAED,OAAO,CAAC,aAAa,CAA8B;IACtC,MAAM,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;WAcrC,MAAM,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAIhD,cAAc,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;;WAahD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAShH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAqCxH,OAAO,CAAC,qBAAqB,CAAyC;cAEtD,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;cA0BrG,WAAW,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IAiDvH,SAAS,KAAK,MAAM,IAAI,SAAS,EAAE,CAElC;CACF"}
1
+ {"version":3,"file":"QueueManager.d.ts","sourceRoot":"","sources":["../../src/generic/QueueManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAA+B,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAoC,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACpG,OAAO,EAAwB,aAAa,EAAoB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG9G;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAa,SAAQ,aAAa,CAAC,YAAY,CAAE,YAAW,aAAa;IACpF,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,OAAO,CAAmB;IAElC,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;;;OAIG;IACI,iBAAiB,IAAI,IAAI;IAUzB,QAAQ,IAAI,IAAI;IAIvB,WAAkB,UAAU,IAAI,iBAAiB,EAAE,CAElD;IAED,WAAkB,QAAQ,IAAI,YAAY,CAEzC;IAED,OAAO,CAAC,aAAa,CAA8B;IACtC,MAAM,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;WAcrC,MAAM,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAIhD,cAAc,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;;WAgBhD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAShH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAqCxH,OAAO,CAAC,qBAAqB,CAAyC;cAEtD,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;cA0BrG,WAAW,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IAiDvH,SAAS,KAAK,MAAM,IAAI,SAAS,EAAE,CAElC;CACF"}
@@ -1,7 +1,7 @@
1
1
  //import { MJQueueEntity, MJQueueTaskEntity, MJQueueTypeEntity } from "mj_generatedentities";
2
2
  import { TaskBase, QueueBase } from "./QueueBase.js";
3
3
  import { LogError, Metadata, RunView } from "@memberjunction/core";
4
- import { MJGlobal, UUIDsEqual, BaseSingleton } from "@memberjunction/global";
4
+ import { MJGlobal, UUIDsEqual, BaseSingleton, ShutdownRegistry } from "@memberjunction/global";
5
5
  import os from 'os';
6
6
  /**
7
7
  *QueueManager class is a generic manager of all active queues for the process.
@@ -17,6 +17,27 @@ import os from 'os';
17
17
  *or not. After a heartbeat timeout is reached, other queues can pick up tasks from a crashed process.
18
18
  */
19
19
  export class QueueManager extends BaseSingleton {
20
+ get ShutdownName() {
21
+ return 'QueueManager';
22
+ }
23
+ /**
24
+ * Stop every active queue. Idempotent. Wired to `ShutdownRegistry` so the
25
+ * SIGTERM/SIGINT handler can drain queues during graceful shutdown — without
26
+ * this, each `QueueBase` keeps `setTimeout`-pinning itself indefinitely.
27
+ */
28
+ ShutdownAllQueues() {
29
+ for (const q of this._queues) {
30
+ try {
31
+ q.Stop();
32
+ }
33
+ catch {
34
+ // Per-queue failures must not abort the rest of the shutdown.
35
+ }
36
+ }
37
+ }
38
+ Shutdown() {
39
+ this.ShutdownAllQueues();
40
+ }
20
41
  static get QueueTypes() {
21
42
  return QueueManager.Instance._queueTypes;
22
43
  }
@@ -54,6 +75,9 @@ export class QueueManager extends BaseSingleton {
54
75
  this.configPromise = null;
55
76
  // Initialize a map to hold ongoing queue creation promises
56
77
  this.ongoingQueueCreations = new Map();
78
+ // Self-register so SIGTERM/SIGINT handlers wired to ShutdownRegistry can
79
+ // drain queues without each entry-point app needing to know about us.
80
+ ShutdownRegistry.Instance.Register(this);
57
81
  }
58
82
  static async AddTask(QueueType, data, options, contextUser) {
59
83
  await QueueManager.Config(contextUser);
@@ -1 +1 @@
1
- {"version":3,"file":"QueueManager.js","sourceRoot":"","sources":["../../src/generic/QueueManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueueManager.js","sourceRoot":"","sources":["../../src/generic/QueueManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/queue",
3
3
  "type": "module",
4
- "version": "5.33.0",
4
+ "version": "5.34.1",
5
5
  "description": "MemberJunction: Queue Library for managing server side queues",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -20,12 +20,12 @@
20
20
  "typescript": "^5.9.3"
21
21
  },
22
22
  "dependencies": {
23
- "@memberjunction/ai": "5.33.0",
24
- "@memberjunction/ai-provider-bundle": "5.33.0",
25
- "@memberjunction/aiengine": "5.33.0",
26
- "@memberjunction/core": "5.33.0",
27
- "@memberjunction/global": "5.33.0",
28
- "@memberjunction/core-entities": "5.33.0",
23
+ "@memberjunction/ai": "5.34.1",
24
+ "@memberjunction/ai-provider-bundle": "5.34.1",
25
+ "@memberjunction/aiengine": "5.34.1",
26
+ "@memberjunction/core": "5.34.1",
27
+ "@memberjunction/global": "5.34.1",
28
+ "@memberjunction/core-entities": "5.34.1",
29
29
  "@types/uuid": "^11.0.0",
30
30
  "uuid": "^13.0.0"
31
31
  },