@memberjunction/core-actions 5.47.0 → 5.48.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.
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Shared, persistent `CodeExecutionService` for the "Execute Code" action.
3
+ *
4
+ * @module @memberjunction/core-actions
5
+ */
6
+ import { CodeExecutionService } from '@memberjunction/code-execution';
7
+ import { BaseSingleton, IShutdownable } from '@memberjunction/global';
8
+ /**
9
+ * Owns a single, process-lifetime `CodeExecutionService` (and its underlying forked
10
+ * worker-process pool) shared across every `ExecuteCodeAction` invocation.
11
+ *
12
+ * Prior to this fix, `ExecuteCodeAction.InternalRunAction` called `new CodeExecutionService()`
13
+ * on every action run. `CodeExecutionService.execute()` auto-initializes on first use, which
14
+ * forks `WorkerPool`'s configured number of OS child processes (default 2) — and the action
15
+ * never called `shutdown()`, so those processes (and their open IPC channels) were never
16
+ * reaped. Every "Execute Code" action run leaked two live child processes for the life of the
17
+ * host process. Mirrors the singleton pattern already used by `RuntimeActionExecutor`
18
+ * (`packages/Actions/Runtime/src/RuntimeActionExecutor.ts`) for the same underlying service,
19
+ * which amortizes the isolate cold-start cost across calls instead of paying it (and leaking
20
+ * workers) on every single invocation.
21
+ */
22
+ export declare class ExecuteCodeServiceProvider extends BaseSingleton<ExecuteCodeServiceProvider> implements IShutdownable {
23
+ private _service;
24
+ protected constructor();
25
+ static get Instance(): ExecuteCodeServiceProvider;
26
+ readonly ShutdownName = "ExecuteCodeServiceProvider";
27
+ /** Lazy-accessor so the worker pool isn't forked until the first "Execute Code" action call. */
28
+ GetService(): CodeExecutionService;
29
+ /** Gracefully tears down the worker pool. Idempotent — safe to call more than once. */
30
+ Shutdown(): Promise<void>;
31
+ }
32
+ //# sourceMappingURL=execute-code-service-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-code-service-provider.d.ts","sourceRoot":"","sources":["../../../src/custom/code-execution/execute-code-service-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,wBAAwB,CAAC;AAExF;;;;;;;;;;;;;GAaG;AACH,qBAAa,0BAA2B,SAAQ,aAAa,CAAC,0BAA0B,CAAE,YAAW,aAAa;IAC9G,OAAO,CAAC,QAAQ,CAAqC;IAErD,SAAS;IAKT,WAAkB,QAAQ,IAAI,0BAA0B,CAEvD;IAED,SAAgB,YAAY,gCAAgC;IAE5D,gGAAgG;IACzF,UAAU,IAAI,oBAAoB;IAOzC,uFAAuF;IAC1E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOzC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Shared, persistent `CodeExecutionService` for the "Execute Code" action.
3
+ *
4
+ * @module @memberjunction/core-actions
5
+ */
6
+ import { CodeExecutionService } from '@memberjunction/code-execution';
7
+ import { BaseSingleton, ShutdownRegistry } from '@memberjunction/global';
8
+ /**
9
+ * Owns a single, process-lifetime `CodeExecutionService` (and its underlying forked
10
+ * worker-process pool) shared across every `ExecuteCodeAction` invocation.
11
+ *
12
+ * Prior to this fix, `ExecuteCodeAction.InternalRunAction` called `new CodeExecutionService()`
13
+ * on every action run. `CodeExecutionService.execute()` auto-initializes on first use, which
14
+ * forks `WorkerPool`'s configured number of OS child processes (default 2) — and the action
15
+ * never called `shutdown()`, so those processes (and their open IPC channels) were never
16
+ * reaped. Every "Execute Code" action run leaked two live child processes for the life of the
17
+ * host process. Mirrors the singleton pattern already used by `RuntimeActionExecutor`
18
+ * (`packages/Actions/Runtime/src/RuntimeActionExecutor.ts`) for the same underlying service,
19
+ * which amortizes the isolate cold-start cost across calls instead of paying it (and leaking
20
+ * workers) on every single invocation.
21
+ */
22
+ export class ExecuteCodeServiceProvider extends BaseSingleton {
23
+ constructor() {
24
+ super();
25
+ this._service = null;
26
+ this.ShutdownName = 'ExecuteCodeServiceProvider';
27
+ ShutdownRegistry.Instance.Register(this);
28
+ }
29
+ static get Instance() {
30
+ return super.getInstance();
31
+ }
32
+ /** Lazy-accessor so the worker pool isn't forked until the first "Execute Code" action call. */
33
+ GetService() {
34
+ if (!this._service) {
35
+ this._service = new CodeExecutionService();
36
+ }
37
+ return this._service;
38
+ }
39
+ /** Gracefully tears down the worker pool. Idempotent — safe to call more than once. */
40
+ async Shutdown() {
41
+ if (this._service) {
42
+ const service = this._service;
43
+ this._service = null;
44
+ await service.shutdown();
45
+ }
46
+ }
47
+ }
48
+ //# sourceMappingURL=execute-code-service-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-code-service-provider.js","sourceRoot":"","sources":["../../../src/custom/code-execution/execute-code-service-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAiB,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAExF;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,0BAA2B,SAAQ,aAAyC;IAGrF;QACI,KAAK,EAAE,CAAC;QAHJ,aAAQ,GAAgC,IAAI,CAAC;QAWrC,iBAAY,GAAG,4BAA4B,CAAC;QAPxD,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAEM,MAAM,KAAK,QAAQ;QACtB,OAAO,KAAK,CAAC,WAAW,EAA8B,CAAC;IAC3D,CAAC;IAID,gGAAgG;IACzF,UAAU;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,uFAAuF;IAChF,KAAK,CAAC,QAAQ;QACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute-code.action.d.ts","sourceRoot":"","sources":["../../../src/custom/code-execution/execute-code.action.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAQnF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC7C;;;;;OAKG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqFvF;;;OAGG;IACH,OAAO,CAAC,cAAc;IAStB;;;OAGG;IACH,OAAO,CAAC,eAAe;IASvB;;;OAGG;IACH,OAAO,CAAC,cAAc;CAOzB"}
1
+ {"version":3,"file":"execute-code.action.d.ts","sourceRoot":"","sources":["../../../src/custom/code-execution/execute-code.action.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAQnF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC7C;;;;;OAKG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwFvF;;;OAGG;IACH,OAAO,CAAC,cAAc;IAStB;;;OAGG;IACH,OAAO,CAAC,eAAe;IASvB;;;OAGG;IACH,OAAO,CAAC,cAAc;CAOzB"}
@@ -14,8 +14,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
14
14
  };
15
15
  import { BaseAction } from '@memberjunction/actions';
16
16
  import { RegisterClass } from '@memberjunction/global';
17
- import { CodeExecutionService } from '@memberjunction/code-execution';
18
17
  import { LogError } from '@memberjunction/core';
18
+ import { ExecuteCodeServiceProvider } from './execute-code-service-provider.js';
19
19
  /**
20
20
  * Action for executing JavaScript code in a sandboxed environment
21
21
  *
@@ -80,7 +80,10 @@ let ExecuteCodeAction = class ExecuteCodeAction extends BaseAction {
80
80
  }
81
81
  }
82
82
  // 2. Delegate to service (DIRECT IMPORT - not another action!)
83
- const executionService = new CodeExecutionService();
83
+ // Reuse the shared, process-lifetime CodeExecutionService instead of
84
+ // `new CodeExecutionService()` per call — that used to fork a fresh
85
+ // worker-process pool on every invocation and never shut it down.
86
+ const executionService = ExecuteCodeServiceProvider.Instance.GetService();
84
87
  const executionParams = {
85
88
  code,
86
89
  language,
@@ -1 +1 @@
1
- {"version":3,"file":"execute-code.action.js","sourceRoot":"","sources":["../../../src/custom/code-execution/execute-code.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-code.action.js","sourceRoot":"","sources":["../../../src/custom/code-execution/execute-code.action.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,47 @@
1
1
  import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseSingleton } from "@memberjunction/global";
2
3
  import { BaseAction } from "@memberjunction/actions";
4
+ import { AxiosRequestConfig } from "axios";
5
+ /**
6
+ * Rate limiter singleton for managing API requests across action instances.
7
+ *
8
+ * `limiters` is keyed by the caller-supplied `RateLimitKey` action parameter, so its key
9
+ * space is not bounded at compile time (a dynamic key per record/tenant/timestamp would
10
+ * grow it without bound). Bounded via `MJLruCache` rather than a raw `Map`; the `onEvict`
11
+ * hook disposes the evicted `APIRateLimiter`'s RxJS subscription so it doesn't also leak.
12
+ */
13
+ export declare class APIRateLimiterManager extends BaseSingleton<APIRateLimiterManager> {
14
+ private limiters;
15
+ constructor();
16
+ static get Instance(): APIRateLimiterManager;
17
+ getRateLimiter(key: string, config: RateLimitConfig): APIRateLimiter;
18
+ }
19
+ export interface RateLimitConfig {
20
+ maxRequestsPerMinute: number;
21
+ maxConcurrent: number;
22
+ retryOnRateLimit: boolean;
23
+ backoffMs: number;
24
+ maxRetries: number;
25
+ }
26
+ export declare class APIRateLimiter {
27
+ private config;
28
+ private requestQueue$;
29
+ private queueSubscription;
30
+ private requestCount;
31
+ private windowStart;
32
+ private activeRequests;
33
+ constructor(config: RateLimitConfig);
34
+ /**
35
+ * Releases this limiter's RxJS subscription and completes its queue Subject.
36
+ * Called by `APIRateLimiterManager`'s `MJLruCache` `onEvict` hook when this limiter
37
+ * ages out or is displaced by LRU pressure — without it, the `concatMap().subscribe()`
38
+ * above stays live (and referenced by the Subject) for the life of the process even
39
+ * after the limiter is no longer reachable from `limiters`.
40
+ */
41
+ dispose(): void;
42
+ execute(axiosConfig: AxiosRequestConfig): Promise<any>;
43
+ private processRequest;
44
+ }
3
45
  /**
4
46
  * Action that adds rate limiting to any API endpoint
5
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"api-rate-limiter.action.d.ts","sourceRoot":"","sources":["../../../src/custom/integration/api-rate-limiter.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAuIrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IAEhD;;;;;;;;;;;;;;;;;OAiBG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyJvF;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,aAAa;CAIxB"}
1
+ {"version":3,"file":"api-rate-limiter.action.d.ts","sourceRoot":"","sources":["../../../src/custom/integration/api-rate-limiter.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAiB,aAAa,EAAc,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAc,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAIlD;;;;;;;GAOG;AACH,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;IAC3E,OAAO,CAAC,QAAQ,CAAqC;;IAWrD,MAAM,KAAK,QAAQ,IAAI,qBAAqB,CAE3C;IAED,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,cAAc;CAQvE;AAED,MAAM,WAAW,eAAe;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AASD,qBAAa,cAAc;IAOX,OAAO,CAAC,MAAM;IAN1B,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAK;gBAEP,MAAM,EAAE,eAAe;IAO3C;;;;;;OAMG;IACI,OAAO,IAAI,IAAI;IAKhB,OAAO,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;IAW5D,OAAO,CAAC,cAAc;CAmEzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IAEhD;;;;;;;;;;;;;;;;;OAiBG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyJvF;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,aAAa;CAIxB"}
@@ -4,30 +4,41 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { RegisterClass, BaseSingleton } from "@memberjunction/global";
7
+ import { RegisterClass, BaseSingleton, MJLruCache } from "@memberjunction/global";
8
8
  import { BaseAction } from "@memberjunction/actions";
9
9
  import axios from "axios";
10
10
  import { Subject, Observable } from "rxjs";
11
11
  import { concatMap } from "rxjs/operators";
12
12
  /**
13
- * Rate limiter singleton for managing API requests across action instances
13
+ * Rate limiter singleton for managing API requests across action instances.
14
+ *
15
+ * `limiters` is keyed by the caller-supplied `RateLimitKey` action parameter, so its key
16
+ * space is not bounded at compile time (a dynamic key per record/tenant/timestamp would
17
+ * grow it without bound). Bounded via `MJLruCache` rather than a raw `Map`; the `onEvict`
18
+ * hook disposes the evicted `APIRateLimiter`'s RxJS subscription so it doesn't also leak.
14
19
  */
15
- class APIRateLimiterManager extends BaseSingleton {
20
+ export class APIRateLimiterManager extends BaseSingleton {
16
21
  constructor() {
17
22
  super();
18
- this.limiters = new Map();
23
+ this.limiters = new MJLruCache({
24
+ maxSize: 200,
25
+ ttlMs: 60 * 60 * 1000,
26
+ onEvict: (_key, limiter) => limiter.dispose(),
27
+ });
19
28
  }
20
29
  static get Instance() {
21
30
  return APIRateLimiterManager.getInstance();
22
31
  }
23
32
  getRateLimiter(key, config) {
24
- if (!this.limiters.has(key)) {
25
- this.limiters.set(key, new APIRateLimiter(config));
33
+ let limiter = this.limiters.Get(key);
34
+ if (!limiter) {
35
+ limiter = new APIRateLimiter(config);
36
+ this.limiters.Set(key, limiter);
26
37
  }
27
- return this.limiters.get(key);
38
+ return limiter;
28
39
  }
29
40
  }
30
- class APIRateLimiter {
41
+ export class APIRateLimiter {
31
42
  constructor(config) {
32
43
  this.config = config;
33
44
  this.requestQueue$ = new Subject();
@@ -35,7 +46,18 @@ class APIRateLimiter {
35
46
  this.windowStart = Date.now();
36
47
  this.activeRequests = 0;
37
48
  // Process queue with rate limiting
38
- this.requestQueue$.pipe(concatMap(request => this.processRequest(request))).subscribe();
49
+ this.queueSubscription = this.requestQueue$.pipe(concatMap(request => this.processRequest(request))).subscribe();
50
+ }
51
+ /**
52
+ * Releases this limiter's RxJS subscription and completes its queue Subject.
53
+ * Called by `APIRateLimiterManager`'s `MJLruCache` `onEvict` hook when this limiter
54
+ * ages out or is displaced by LRU pressure — without it, the `concatMap().subscribe()`
55
+ * above stays live (and referenced by the Subject) for the life of the process even
56
+ * after the limiter is no longer reachable from `limiters`.
57
+ */
58
+ dispose() {
59
+ this.queueSubscription.unsubscribe();
60
+ this.requestQueue$.complete();
39
61
  }
40
62
  async execute(axiosConfig) {
41
63
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"api-rate-limiter.action.js","sourceRoot":"","sources":["../../../src/custom/integration/api-rate-limiter.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-rate-limiter.action.js","sourceRoot":"","sources":["../../../src/custom/integration/api-rate-limiter.action.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ import { BaseAction } from "@memberjunction/actions";
18
18
  */
19
19
  export declare class AddRecordsToListAction extends BaseAction {
20
20
  protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
21
+ /**
22
+ * Runs `worker` over `items` with at most `limit` operations in flight.
23
+ */
24
+ private forEachConcurrent;
21
25
  private getStringParam;
22
26
  private getArrayParam;
23
27
  private getBooleanParam;
@@ -1 +1 @@
1
- {"version":3,"file":"add-records-to-list.action.d.ts","sourceRoot":"","sources":["../../../src/custom/lists/add-records-to-list.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;;;;;;;;;;;;;GAeG;AACH,qBACa,sBAAuB,SAAQ,UAAU;cAEpC,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuIvF,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;CAOvB"}
1
+ {"version":3,"file":"add-records-to-list.action.d.ts","sourceRoot":"","sources":["../../../src/custom/lists/add-records-to-list.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;;;;;;;;;;;;;GAeG;AACH,qBACa,sBAAuB,SAAQ,UAAU;cAEpC,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4IvF;;OAEG;YACW,iBAAiB;IAgB/B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;CAOvB"}
@@ -77,17 +77,23 @@ let AddRecordsToListAction = class AddRecordsToListAction extends BaseAction {
77
77
  }
78
78
  }
79
79
  }
80
- // Add records to list
80
+ // Add records to list. Writes run with bounded concurrency —
81
+ // per-record error isolation is preserved (one bad record fails only
82
+ // itself), but wall clock no longer scales 1:1 with record count.
81
83
  let addedCount = 0;
82
84
  let skippedCount = 0;
83
85
  let failedCount = 0;
84
86
  const errors = [];
87
+ const toAdd = [];
85
88
  for (const recordId of recordIds) {
86
- // Skip if already exists
87
89
  if (skipDuplicates && existingRecordIds.has(recordId)) {
88
90
  skippedCount++;
89
- continue;
90
91
  }
92
+ else {
93
+ toAdd.push(recordId);
94
+ }
95
+ }
96
+ await this.forEachConcurrent(toAdd, 10, async (recordId) => {
91
97
  try {
92
98
  const listDetail = await md.GetEntityObject('MJ: List Details', params.ContextUser);
93
99
  listDetail.NewRecord();
@@ -112,7 +118,7 @@ let AddRecordsToListAction = class AddRecordsToListAction extends BaseAction {
112
118
  const errorMessage = error instanceof Error ? error.message : String(error);
113
119
  errors.push(`Error adding record '${recordId}': ${errorMessage}`);
114
120
  }
115
- }
121
+ });
116
122
  // Prepare result
117
123
  const result = {
118
124
  TotalRecords: recordIds.length,
@@ -145,6 +151,21 @@ let AddRecordsToListAction = class AddRecordsToListAction extends BaseAction {
145
151
  };
146
152
  }
147
153
  }
154
+ /**
155
+ * Runs `worker` over `items` with at most `limit` operations in flight.
156
+ */
157
+ async forEachConcurrent(items, limit, worker) {
158
+ let next = 0;
159
+ const lanes = Array.from({ length: Math.min(limit, items.length) }, async () => {
160
+ while (true) {
161
+ const idx = next++;
162
+ if (idx >= items.length)
163
+ return;
164
+ await worker(items[idx]);
165
+ }
166
+ });
167
+ await Promise.all(lanes);
168
+ }
148
169
  getStringParam(params, name) {
149
170
  const param = params.Params.find(p => p.Name.toLowerCase() === name.toLowerCase() && p.Type === 'Input');
150
171
  return param?.Value != null ? String(param.Value) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"add-records-to-list.action.js","sourceRoot":"","sources":["../../../src/custom/lists/add-records-to-list.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-records-to-list.action.js","sourceRoot":"","sources":["../../../src/custom/lists/add-records-to-list.action.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/core-actions",
3
3
  "type": "module",
4
- "version": "5.47.0",
4
+ "version": "5.48.0",
5
5
  "description": "Library of generated and custom actions for the core MemberJunction framework. This library is maintained by MemberJunction and includes actions for use within the framework itself.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -25,43 +25,43 @@
25
25
  "dependencies": {
26
26
  "@asamuzakjp/css-color": "^4.1.2",
27
27
  "@dagrejs/dagre": "^1.1.8",
28
- "@memberjunction/actions": "5.47.0",
29
- "@memberjunction/actions-base": "5.47.0",
30
- "@memberjunction/ai": "5.47.0",
31
- "@memberjunction/ai-agent-manager": "5.47.0",
32
- "@memberjunction/ai-agents": "5.47.0",
33
- "@memberjunction/ai-betty-bot": "5.47.0",
34
- "@memberjunction/ai-core-plus": "5.47.0",
35
- "@memberjunction/ai-engine-base": "5.47.0",
36
- "@memberjunction/ai-mcp-client": "5.47.0",
37
- "@memberjunction/ai-prompts": "5.47.0",
38
- "@memberjunction/ai-vector-sync": "5.47.0",
39
- "@memberjunction/aiengine": "5.47.0",
40
- "@memberjunction/clustering-engine": "5.47.0",
41
- "@memberjunction/code-execution": "5.47.0",
42
- "@memberjunction/communication-engine": "5.47.0",
43
- "@memberjunction/communication-types": "5.47.0",
44
- "@memberjunction/content-autotagging": "5.47.0",
45
- "@memberjunction/core": "5.47.0",
46
- "@memberjunction/core-entities": "5.47.0",
47
- "@memberjunction/core-entities-server": "5.47.0",
48
- "@memberjunction/esignature": "5.47.0",
49
- "@memberjunction/export-engine": "5.47.0",
50
- "@memberjunction/external-change-detection": "5.47.0",
51
- "@memberjunction/generic-database-provider": "5.47.0",
52
- "@memberjunction/geo-core": "5.47.0",
53
- "@memberjunction/global": "5.47.0",
54
- "@memberjunction/integration-engine": "5.47.0",
55
- "@memberjunction/interactive-component-types": "5.47.0",
56
- "@memberjunction/lists": "5.47.0",
57
- "@memberjunction/lists-base": "5.47.0",
58
- "@memberjunction/react-linter": "5.47.0",
59
- "@memberjunction/record-set-processor": "5.47.0",
60
- "@memberjunction/record-set-processor-base": "5.47.0",
61
- "@memberjunction/search-engine": "5.47.0",
62
- "@memberjunction/sql-dialect": "5.47.0",
63
- "@memberjunction/sqlserver-dataprovider": "5.47.0",
64
- "@memberjunction/storage": "5.47.0",
28
+ "@memberjunction/actions": "5.48.0",
29
+ "@memberjunction/actions-base": "5.48.0",
30
+ "@memberjunction/ai": "5.48.0",
31
+ "@memberjunction/ai-agent-manager": "5.48.0",
32
+ "@memberjunction/ai-agents": "5.48.0",
33
+ "@memberjunction/ai-betty-bot": "5.48.0",
34
+ "@memberjunction/ai-core-plus": "5.48.0",
35
+ "@memberjunction/ai-engine-base": "5.48.0",
36
+ "@memberjunction/ai-mcp-client": "5.48.0",
37
+ "@memberjunction/ai-prompts": "5.48.0",
38
+ "@memberjunction/ai-vector-sync": "5.48.0",
39
+ "@memberjunction/aiengine": "5.48.0",
40
+ "@memberjunction/clustering-engine": "5.48.0",
41
+ "@memberjunction/code-execution": "5.48.0",
42
+ "@memberjunction/communication-engine": "5.48.0",
43
+ "@memberjunction/communication-types": "5.48.0",
44
+ "@memberjunction/content-autotagging": "5.48.0",
45
+ "@memberjunction/core": "5.48.0",
46
+ "@memberjunction/core-entities": "5.48.0",
47
+ "@memberjunction/core-entities-server": "5.48.0",
48
+ "@memberjunction/esignature": "5.48.0",
49
+ "@memberjunction/export-engine": "5.48.0",
50
+ "@memberjunction/external-change-detection": "5.48.0",
51
+ "@memberjunction/generic-database-provider": "5.48.0",
52
+ "@memberjunction/geo-core": "5.48.0",
53
+ "@memberjunction/global": "5.48.0",
54
+ "@memberjunction/integration-engine": "5.48.0",
55
+ "@memberjunction/interactive-component-types": "5.48.0",
56
+ "@memberjunction/lists": "5.48.0",
57
+ "@memberjunction/lists-base": "5.48.0",
58
+ "@memberjunction/react-linter": "5.48.0",
59
+ "@memberjunction/record-set-processor": "5.48.0",
60
+ "@memberjunction/record-set-processor-base": "5.48.0",
61
+ "@memberjunction/search-engine": "5.48.0",
62
+ "@memberjunction/sql-dialect": "5.48.0",
63
+ "@memberjunction/sqlserver-dataprovider": "5.48.0",
64
+ "@memberjunction/storage": "5.48.0",
65
65
  "@types/d3-cloud": "^1.2.9",
66
66
  "@types/d3-force": "^3.0.10",
67
67
  "@types/d3-hierarchy": "^3.1.7",