@memberjunction/actions 5.51.0 → 6.1.0-edge.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.
package/LICENSE ADDED
@@ -0,0 +1,7 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2023 MemberJunction
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,58 @@
1
+ import { BaseSingleton } from '@memberjunction/global';
2
+ /** What the guard decided to do with a dispatch. */
3
+ export type EntityActionDispatchOutcome =
4
+ /** It ran (possibly followed by coalesced reruns). */
5
+ 'Ran'
6
+ /** The action was re-entering itself on the same record; dropped. */
7
+ | 'Suppressed'
8
+ /** A run for this key was already in flight; folded into one pending rerun. */
9
+ | 'Coalesced';
10
+ /**
11
+ * The identity a dispatch is guarded by. Record-level rather than entity-level on purpose: two
12
+ * different invoices changing at once are unrelated events and must not block each other.
13
+ */
14
+ export declare function BuildEntityActionDispatchKey(entityActionID: string, entityID: string, recordKey: string): string;
15
+ /**
16
+ * Guards automatic entity-action dispatch against self-triggering and save bursts.
17
+ *
18
+ * Process-scoped. Two servers behind a load balancer each hold their own view, which is correct for
19
+ * the burst case (each coalesces its own traffic) and is the reason the durable case needs the
20
+ * explicit marker rather than this.
21
+ */
22
+ export declare class EntityActionDispatchGuard extends BaseSingleton<EntityActionDispatchGuard> {
23
+ static get Instance(): EntityActionDispatchGuard;
24
+ /**
25
+ * The set of dispatch keys currently executing *above* this point in the async call tree.
26
+ * A set rather than a single value because actions legitimately chain: A on record 1 may save
27
+ * record 2 and fire B, and B must still be able to detect re-entry into A.
28
+ */
29
+ private originStack;
30
+ private inFlight;
31
+ /** True when this key is already executing somewhere up the current async call tree. */
32
+ IsSelfTriggered(key: string): boolean;
33
+ /** True when a run for this key is executing anywhere in this process. */
34
+ IsInFlight(key: string): boolean;
35
+ /**
36
+ * Run an automatic entity-action dispatch under the guard.
37
+ *
38
+ * @param key from {@link BuildEntityActionDispatchKey}
39
+ * @param run the dispatch itself; invoked at most once per call, possibly later than the call
40
+ * @returns what the guard decided. `'Ran'` resolves only after the run and any coalesced
41
+ * reruns have finished, so a caller that awaits it awaits the whole settled chain.
42
+ */
43
+ Dispatch(key: string, run: () => Promise<unknown>): Promise<EntityActionDispatchOutcome>;
44
+ /** Run `fn` with `key` pushed onto the ambient origin stack. */
45
+ private runWithOrigin;
46
+ /**
47
+ * Run whatever queued up while the slot was busy, until nothing is left.
48
+ *
49
+ * Deliberately uncapped: each iteration means real dispatches arrived while the previous run was
50
+ * executing, so stopping early would silently drop work. It terminates because arrivals stop —
51
+ * and the case that would *not* terminate, an action re-triggering itself, never reaches here
52
+ * (it is suppressed above). The threshold log exists so a chain that does run away is visible.
53
+ */
54
+ private drain;
55
+ /** Drops all in-flight bookkeeping. For tests — never call this from application code. */
56
+ ResetForTesting(): void;
57
+ }
58
+ //# sourceMappingURL=EntityActionDispatchGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityActionDispatchGuard.d.ts","sourceRoot":"","sources":["../../src/entity-actions/EntityActionDispatchGuard.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,oDAAoD;AACpD,MAAM,MAAM,2BAA2B;AACnC,sDAAsD;AACpD,KAAK;AACP,qEAAqE;GACnE,YAAY;AACd,+EAA+E;GAC7E,WAAW,CAAC;AAElB;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhH;AAeD;;;;;;GAMG;AACH,qBAAa,yBAA0B,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IACnF,WAAkB,QAAQ,IAAI,yBAAyB,CAEtD;IAED;;;;OAIG;IACH,OAAO,CAAC,WAAW,CAAgD;IAEnE,OAAO,CAAC,QAAQ,CAAoC;IAEpD,wFAAwF;IACjF,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5C,0EAA0E;IACnE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;;;OAOG;IACU,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,2BAA2B,CAAC;IA6BrG,gEAAgE;IAChE,OAAO,CAAC,aAAa;IAOrB;;;;;;;OAOG;YACW,KAAK;IAmBnB,0FAA0F;IACnF,eAAe,IAAI,IAAI;CAGjC"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * @fileoverview Re-entrancy and burst control for automatically-dispatched entity actions.
3
+ *
4
+ * **The problem.** An entity action that runs on `AfterUpdate` and writes back to the record that
5
+ * triggered it re-fires itself, forever. This is not an exotic case — it is the *normal* shape of
6
+ * every enrich-and-write-back automation: "when a ticket changes, summarize it and store the
7
+ * summary" saves the ticket. The same is true of a workflow bound to an entity-change trigger whose
8
+ * graph touches the record it was started by.
9
+ *
10
+ * A second, quieter problem shares the same key: a record saved ten times in a second launches ten
11
+ * overlapping runs of the same after-save action, each reading a state the next one invalidates.
12
+ *
13
+ * **The mechanism.** Every automatic dispatch is keyed by
14
+ * `(entity action, entity, record)` — the identity that both problems are about.
15
+ *
16
+ * - **Self-trigger → suppress.** A dispatch that arrives while its own key is on the origin stack
17
+ * is the action re-entering itself, and is dropped. Deferring it instead would turn an infinite
18
+ * loop into an infinite *sequence*, which is no better.
19
+ * - **Overlap → coalesce, latest wins.** A dispatch for a key that is merely in flight (not on the
20
+ * origin stack — so it came from somewhere else) does not stack. It sets a rerun flag, and one
21
+ * more run happens after the current one finishes. A burst of saves collapses to at most one
22
+ * pending run, and that run sees the final state rather than a stale one.
23
+ *
24
+ * Origin tracking uses `AsyncLocalStorage`, so it propagates through every `await` inside an
25
+ * action — including an agent run, its sub-agents, and any action they invoke — without a single
26
+ * call site having to pass anything down.
27
+ *
28
+ * **Known limit: a durable hop escapes the ambient context.** When work detaches to another process
29
+ * or a later moment (a task graph handed to the dispatcher, a queued job), the origin stack does not
30
+ * travel with it, so a write-back from there is indistinguishable from a user's edit. For those
31
+ * paths the origin must be declared explicitly — `EntitySaveOptions.OriginatingEntityActionIDs`
32
+ * exists for exactly that, and carries the same meaning.
33
+ *
34
+ * @module @memberjunction/actions
35
+ */
36
+ import { AsyncLocalStorage } from 'node:async_hooks';
37
+ import { BaseSingleton } from '@memberjunction/global';
38
+ import { LogStatus } from '@memberjunction/core';
39
+ /**
40
+ * The identity a dispatch is guarded by. Record-level rather than entity-level on purpose: two
41
+ * different invoices changing at once are unrelated events and must not block each other.
42
+ */
43
+ export function BuildEntityActionDispatchKey(entityActionID, entityID, recordKey) {
44
+ return `${entityActionID}|${entityID}|${recordKey}`.toLowerCase();
45
+ }
46
+ /** Reruns after which a sustained rerun chain is worth a log line. Not a cap — see `drain`. */
47
+ const RERUN_WARN_THRESHOLD = 10;
48
+ /**
49
+ * Guards automatic entity-action dispatch against self-triggering and save bursts.
50
+ *
51
+ * Process-scoped. Two servers behind a load balancer each hold their own view, which is correct for
52
+ * the burst case (each coalesces its own traffic) and is the reason the durable case needs the
53
+ * explicit marker rather than this.
54
+ */
55
+ export class EntityActionDispatchGuard extends BaseSingleton {
56
+ constructor() {
57
+ super(...arguments);
58
+ /**
59
+ * The set of dispatch keys currently executing *above* this point in the async call tree.
60
+ * A set rather than a single value because actions legitimately chain: A on record 1 may save
61
+ * record 2 and fire B, and B must still be able to detect re-entry into A.
62
+ */
63
+ this.originStack = new AsyncLocalStorage();
64
+ this.inFlight = new Map();
65
+ }
66
+ static get Instance() {
67
+ return super.getInstance();
68
+ }
69
+ /** True when this key is already executing somewhere up the current async call tree. */
70
+ IsSelfTriggered(key) {
71
+ return this.originStack.getStore()?.has(key) ?? false;
72
+ }
73
+ /** True when a run for this key is executing anywhere in this process. */
74
+ IsInFlight(key) {
75
+ return this.inFlight.has(key);
76
+ }
77
+ /**
78
+ * Run an automatic entity-action dispatch under the guard.
79
+ *
80
+ * @param key from {@link BuildEntityActionDispatchKey}
81
+ * @param run the dispatch itself; invoked at most once per call, possibly later than the call
82
+ * @returns what the guard decided. `'Ran'` resolves only after the run and any coalesced
83
+ * reruns have finished, so a caller that awaits it awaits the whole settled chain.
84
+ */
85
+ async Dispatch(key, run) {
86
+ if (this.IsSelfTriggered(key)) {
87
+ // The action wrote back to the record that triggered it. Dropping the dispatch is the
88
+ // only outcome that terminates; queuing it would just move the loop.
89
+ return 'Suppressed';
90
+ }
91
+ const existing = this.inFlight.get(key);
92
+ if (existing) {
93
+ // Latest wins: whatever was pending is replaced, because the newer dispatch reflects a
94
+ // newer state of the record and running both would only re-read the same final row.
95
+ existing.RerunPending = true;
96
+ existing.LatestRun = run;
97
+ return 'Coalesced';
98
+ }
99
+ const entry = { RerunPending: false, LatestRun: null, RerunCount: 0 };
100
+ this.inFlight.set(key, entry);
101
+ try {
102
+ await this.runWithOrigin(key, run);
103
+ await this.drain(key, entry);
104
+ }
105
+ finally {
106
+ // Released only here — arrivals during the drain coalesce onto this same slot, which is
107
+ // what keeps a burst collapsed instead of alternating run/queue/run.
108
+ this.inFlight.delete(key);
109
+ }
110
+ return 'Ran';
111
+ }
112
+ /** Run `fn` with `key` pushed onto the ambient origin stack. */
113
+ runWithOrigin(key, fn) {
114
+ const parent = this.originStack.getStore();
115
+ const scope = new Set(parent ?? []);
116
+ scope.add(key);
117
+ return this.originStack.run(scope, fn);
118
+ }
119
+ /**
120
+ * Run whatever queued up while the slot was busy, until nothing is left.
121
+ *
122
+ * Deliberately uncapped: each iteration means real dispatches arrived while the previous run was
123
+ * executing, so stopping early would silently drop work. It terminates because arrivals stop —
124
+ * and the case that would *not* terminate, an action re-triggering itself, never reaches here
125
+ * (it is suppressed above). The threshold log exists so a chain that does run away is visible.
126
+ */
127
+ async drain(key, entry) {
128
+ while (entry.RerunPending) {
129
+ entry.RerunPending = false;
130
+ const next = entry.LatestRun;
131
+ entry.LatestRun = null;
132
+ if (!next) {
133
+ break;
134
+ }
135
+ entry.RerunCount++;
136
+ if (entry.RerunCount === RERUN_WARN_THRESHOLD) {
137
+ LogStatus(`[EntityActionDispatchGuard] ${RERUN_WARN_THRESHOLD} coalesced reruns for ${key} — ` +
138
+ `the record is being saved faster than its after-save action completes.`);
139
+ }
140
+ await this.runWithOrigin(key, next);
141
+ }
142
+ }
143
+ /** Drops all in-flight bookkeeping. For tests — never call this from application code. */
144
+ ResetForTesting() {
145
+ this.inFlight.clear();
146
+ }
147
+ }
148
+ //# sourceMappingURL=EntityActionDispatchGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityActionDispatchGuard.js","sourceRoot":"","sources":["../../src/entity-actions/EntityActionDispatchGuard.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { MJActionParamEntity, MJEntityActionParamEntity } from "@memberjunction/core-entities";
2
2
  import { BaseEntity } from "@memberjunction/core";
3
- import { ActionParam, ActionResult, EntityActionInvocationParams, EntityActionResult } from "@memberjunction/actions-base";
3
+ import { ActionInvocationProvenance, ActionParam, ActionResult, EntityActionInvocationParams, EntityActionResult } from "@memberjunction/actions-base";
4
4
  /**
5
5
  * Base class for invocation of any entity action invocation type
6
6
  */
@@ -13,6 +13,15 @@ export declare abstract class EntityActionInvocationBase {
13
13
  */
14
14
  FindActionParam(allParams: MJActionParamEntity[], valueType: "Scalar" | "Simple Object" | "BaseEntity Sub-Class" | "Other"): MJActionParamEntity;
15
15
  MapActionResultToEntityActionResult(result: ActionResult): EntityActionResult;
16
+ /**
17
+ * Builds the {@link ActionInvocationProvenance} for a dispatch: which binding fired, from which
18
+ * lifecycle event, against which record. Stamped onto `ActionExecutionLog` so a workflow failure is
19
+ * diagnosable without correlating by timestamp, and used by the redaction rules — the binding's
20
+ * `EntityActionParam` rows are what carry `ValueType` and the per-binding `LogValue` override.
21
+ *
22
+ * @param entityObject the record the run operates on; omitted for a dispatch not yet resolved to one.
23
+ */
24
+ BuildProvenance(params: EntityActionInvocationParams, entityObject?: BaseEntity): ActionInvocationProvenance;
16
25
  /**
17
26
  * This method will map the Entity Action Params to the Action Params and where needed evaluate scripts to get the run-time values that need
18
27
  * to get passed to the Action.
@@ -1 +1 @@
1
- {"version":3,"file":"EntityActionInvocationTypes.d.ts","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAqB,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAG3H;;GAEG;AACH,8BAAsB,0BAA0B;aAC5B,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE/F;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,eAAe,GAAG,sBAAsB,GAAG,OAAO,GAAG,mBAAmB;IAIhJ,mCAAmC,CAAC,MAAM,EAAE,YAAY,GAAG,kBAAkB;IAUpF;;;;;;;OAOG;IACU,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAwCxJ,OAAO,CAAC,YAAY,CAAuF;IAE3G;;;;;;OAMG;IACU,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;CAyBlH;AAED;;GAEG;AACH,qBAQa,kCAAmC,SAAQ,0BAA0B;IACjE,cAAc,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtE,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2B/F;AAED;;;;;GAKG;AACH,qBAEa,qCAAsC,SAAQ,0BAA0B;IACpE,cAAc,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBtE,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqC5F;;;OAGG;cACa,aAAa,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAW1F,0DAA0D;cAC1C,kBAAkB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAY/F,mFAAmF;cACnE,kBAAkB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAwC/F,4FAA4F;IAC5F,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAItD;AAED;;GAEG;AACH,qBACa,8BAA+B,SAAQ,kCAAkC;IAC5D,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAwBxG"}
1
+ {"version":3,"file":"EntityActionInvocationTypes.d.ts","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAqB,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,YAAY,EAAE,4BAA4B,EAAE,kBAAkB,EAA2D,MAAM,8BAA8B,CAAC;AAGhN;;GAEG;AACH,8BAAsB,0BAA0B;aAC5B,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE/F;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,eAAe,GAAG,sBAAsB,GAAG,OAAO,GAAG,mBAAmB;IAIhJ,mCAAmC,CAAC,MAAM,EAAE,YAAY,GAAG,kBAAkB;IAUpF;;;;;;;OAOG;IACI,eAAe,CAAC,MAAM,EAAE,4BAA4B,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,0BAA0B;IAcnH;;;;;;;OAOG;IACU,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA8CxJ,OAAO,CAAC,YAAY,CAAuF;IAE3G;;;;;;OAMG;IACU,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;CAyBlH;AAED;;GAEG;AACH,qBAQa,kCAAmC,SAAQ,0BAA0B;IACjE,cAAc,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtE,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAqC/F;AAED;;;;;GAKG;AACH,qBAEa,qCAAsC,SAAQ,0BAA0B;IACpE,cAAc,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBtE,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyC5F;;;OAGG;cACa,aAAa,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAW1F,0DAA0D;cAC1C,kBAAkB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAY/F,mFAAmF;cACnE,kBAAkB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAwC/F,4FAA4F;IAC5F,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAItD;AAED;;GAEG;AACH,qBACa,8BAA+B,SAAQ,kCAAkC;IAC5D,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAwBxG"}
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { MJGlobal, MJLruCache, RegisterClass, SafeJSONParse, UUIDsEqual } from "@memberjunction/global";
8
8
  import { Metadata, RunView } from "@memberjunction/core";
9
+ import { IsEntityActionInScope, ResolveEntityActionScopeResolver } from "@memberjunction/actions-base";
9
10
  import { ActionEngineServer } from "../generic/ActionEngine.js";
10
11
  /**
11
12
  * Base class for invocation of any entity action invocation type
@@ -32,6 +33,27 @@ export class EntityActionInvocationBase {
32
33
  LogEntry: result.LogEntry
33
34
  };
34
35
  }
36
+ /**
37
+ * Builds the {@link ActionInvocationProvenance} for a dispatch: which binding fired, from which
38
+ * lifecycle event, against which record. Stamped onto `ActionExecutionLog` so a workflow failure is
39
+ * diagnosable without correlating by timestamp, and used by the redaction rules — the binding's
40
+ * `EntityActionParam` rows are what carry `ValueType` and the per-binding `LogValue` override.
41
+ *
42
+ * @param entityObject the record the run operates on; omitted for a dispatch not yet resolved to one.
43
+ */
44
+ BuildProvenance(params, entityObject) {
45
+ return {
46
+ EntityActionID: params.EntityAction?.ID,
47
+ EntityActionInvocationTypeID: params.InvocationType?.ID,
48
+ TargetEntityID: params.EntityAction?.EntityID,
49
+ // ToConcatenatedString(), not ToString(): "ID|abc123" is MJ's canonical serialized
50
+ // record-ID format (the same one RecordChange.RecordID uses), so TargetRecordID lines
51
+ // up with every other persisted record pointer. ToString() is a display format.
52
+ TargetRecordID: entityObject?.PrimaryKey?.ToConcatenatedString(),
53
+ LoggingMode: params.EntityAction?.LoggingMode,
54
+ EntityActionParams: params.EntityAction?.Params
55
+ };
56
+ }
35
57
  /**
36
58
  * This method will map the Entity Action Params to the Action Params and where needed evaluate scripts to get the run-time values that need
37
59
  * to get passed to the Action.
@@ -58,6 +80,12 @@ export class EntityActionInvocationBase {
58
80
  case 'Entity Object':
59
81
  value = entityObject;
60
82
  break;
83
+ case 'Entity Object Data':
84
+ // The record's field values as a plain object. BaseEntity fields are getters, not
85
+ // enumerable own properties, so an action that spreads or JSON-serializes an
86
+ // 'Entity Object' value gets `{}` — GetAll() is what actually carries the data.
87
+ value = entityObject.GetAll();
88
+ break;
61
89
  case 'Entity Field':
62
90
  value = entityObject[eap.Value];
63
91
  break;
@@ -118,12 +146,20 @@ let EntityActionInvocationSingleRecord = class EntityActionInvocationSingleRecor
118
146
  async InvokeAction(params) {
119
147
  // for this type of invocation we need to validate that the EntityObject is not null
120
148
  if (this.ValidateParams(params)) {
149
+ // A binding narrowed to one configuration record (ScopeEntityID/ScopeRecordID) only fires for
150
+ // records that fall under it. Checked HERE rather than at each dispatch site because every
151
+ // path — provider lifecycle hooks, List/View fan-out, direct invocation — funnels through
152
+ // single-record invocation, so this is the one place the check cannot be forgotten.
153
+ const inScope = await IsEntityActionInScope(params.EntityAction, params.EntityObject, name => ResolveEntityActionScopeResolver(name));
154
+ if (!inScope) {
155
+ return null;
156
+ }
121
157
  // now do the work
122
158
  // get the class that is derived from BaseAction for the Action Name
123
159
  await ActionEngineServer.Instance.Config(false, params.ContextUser);
124
160
  // prepare the variables for the action
125
161
  const action = ActionEngineServer.Instance.Actions.find(a => UUIDsEqual(a.ID, params.EntityAction.ActionID));
126
- const internalParams = await this.MapParams(action.Params, params.EntityAction.Params, params.EntityObject);
162
+ const internalParams = await this.MapParams([...action.Params.Items], params.EntityAction.Params, params.EntityObject);
127
163
  const filters = params.EntityAction.Filters.map(f => {
128
164
  const filter = ActionEngineServer.Instance.ActionFilters.find(fi => UUIDsEqual(fi.ID, f.ActionFilterID));
129
165
  return filter;
@@ -132,7 +168,8 @@ let EntityActionInvocationSingleRecord = class EntityActionInvocationSingleRecor
132
168
  Action: action,
133
169
  ContextUser: params.ContextUser,
134
170
  Filters: filters,
135
- Params: internalParams
171
+ Params: internalParams,
172
+ Provenance: this.BuildProvenance(params, params.EntityObject)
136
173
  });
137
174
  return result;
138
175
  }
@@ -192,7 +229,11 @@ let EntityActionInvocationMultipleRecords = class EntityActionInvocationMultiple
192
229
  const innerParams = { ...params };
193
230
  innerParams.EntityObject = record;
194
231
  const result = await invocationInstance.InvokeAction(innerParams);
195
- results.push(result);
232
+ if (result) {
233
+ // null means the binding is scoped and this record falls outside it — not a failure,
234
+ // so it must not drag the consolidated Success down.
235
+ results.push(result);
236
+ }
196
237
  }
197
238
  const consolidatedResult = {
198
239
  Success: results.every(r => r.Success),
@@ -290,7 +331,7 @@ let EntityActionInvocationValidate = class EntityActionInvocationValidate extend
290
331
  // make sure the action engine is good to go, the below won't do anything if it was already configured
291
332
  await ActionEngineServer.Instance.Config(false, params.ContextUser);
292
333
  const action = ActionEngineServer.Instance.Actions.find(a => UUIDsEqual(a.ID, params.EntityAction.ActionID));
293
- const internalParams = await this.MapParams(action.Params, params.EntityAction.Params, params.EntityObject);
334
+ const internalParams = await this.MapParams([...action.Params.Items], params.EntityAction.Params, params.EntityObject);
294
335
  const result = await ActionEngineServer.Instance.RunAction({
295
336
  Action: action,
296
337
  ContextUser: params.ContextUser,
@@ -1 +1 @@
1
- {"version":3,"file":"EntityActionInvocationTypes.js","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityActionInvocationTypes.js","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,20 @@ import { UserInfo, IMetadataProvider } from "@memberjunction/core";
2
2
  import { MJActionExecutionLogEntity, MJActionCategoryEntity, MJActionFilterEntity, MJActionLibraryEntity, MJActionParamEntity, MJActionResultCodeEntity } from "@memberjunction/core-entities";
3
3
  import { BaseSingleton } from "@memberjunction/global";
4
4
  import { MJActionEntityExtended, ActionParam, ActionResult, ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
5
+ /**
6
+ * Execution context handed to an Action Filter's `Code` when the engine evaluates it inline
7
+ * (i.e. when no {@link BaseActionFilter} subclass is registered for the filter). The code runs
8
+ * with this object bound as `ActionFilterContext` and signals its verdict either by returning
9
+ * a boolean or by assigning `ActionFilterContext.result`.
10
+ */
11
+ export interface ActionFilterContext {
12
+ /** The full parameters of the action run being gated, including Action, Params, and ContextUser. */
13
+ params: RunActionParams;
14
+ /** The filter row being evaluated. */
15
+ filter: MJActionFilterEntity;
16
+ /** Alternative verdict channel: filter code may assign true (allow) / false (prevent) here instead of returning. */
17
+ result: boolean | null;
18
+ }
5
19
  /**
6
20
  * Base class for executing actions. This class can be sub-classed if desired if you would like to modify the logic across ALL actions. To do so, sub-class this class and use the
7
21
  * @RegisterClass decorator from the @memberjunction/global package to register your sub-class with the ClassFactory. This will cause your sub-class to be used instead of this base class when the Metadata object insantiates the ActionEngine.
@@ -81,7 +95,7 @@ export declare class ActionEngineServer extends BaseSingleton<ActionEngineServer
81
95
  * (e.g. when being run from a Runtime-action bridge that has its own
82
96
  * abort), we chain to it so either source can trigger cancellation.
83
97
  */
84
- protected RunActionWithTimeout(params: RunActionParams): Promise<ActionResult>;
98
+ protected RunActionWithTimeout(params: RunActionParams, inputSnapshot?: string): Promise<ActionResult>;
85
99
  protected GetActionParamsForAction(action: MJActionEntityExtended): ActionParam[];
86
100
  /**
87
101
  * This method handles input validation. Subclasses can override this method to provide custom input validation.
@@ -92,12 +106,29 @@ export declare class ActionEngineServer extends BaseSingleton<ActionEngineServer
92
106
  */
93
107
  protected RunFilters(params: RunActionParams): Promise<boolean>;
94
108
  /**
95
- * This method runs a single filter. Subclasses can override this method to provide custom filter logic.
109
+ * Bounded cache of compiled filter functions. Keyed by filter ID + row version so an edited
110
+ * filter's Code is recompiled on next use instead of serving the stale compilation.
111
+ */
112
+ private _filterCache;
113
+ /**
114
+ * Runs a single Action Filter and returns whether the action should proceed.
96
115
  *
97
- * @param filter
116
+ * Resolution order:
117
+ * 1. A {@link BaseActionFilter} subclass registered with the ClassFactory under the filter's ID
118
+ * (the CodeGen / custom-subclass pattern documented on BaseActionFilter) wins when present.
119
+ * 2. Otherwise the filter's `Code` column — JavaScript that evaluates to true (allow) or
120
+ * false (prevent), per the column contract — is compiled once per filter row version and
121
+ * executed with an {@link ActionFilterContext} argument. The code may `return` its verdict
122
+ * or assign `ActionFilterContext.result`.
123
+ *
124
+ * Failure semantics are FAIL-CLOSED: a filter that throws, yields a non-boolean, or has no
125
+ * evaluable logic prevents the action and logs the reason. A broken gate must not silently
126
+ * allow execution — silently allowing everything is precisely the pre-fix bug this replaces.
127
+ *
128
+ * Subclasses can still override this method entirely to provide custom filter logic.
98
129
  */
99
130
  protected RunSingleFilter(params: RunActionParams, filter: MJActionFilterEntity): Promise<boolean>;
100
- protected InternalRunAction(params: RunActionParams): Promise<ActionResult>;
131
+ protected InternalRunAction(params: RunActionParams, inputSnapshot?: string): Promise<ActionResult>;
101
132
  /**
102
133
  * Resolves and runs a Custom / Generated action via the ClassFactory.
103
134
  * This is the pre-existing path — factored out of `InternalRunAction` so
@@ -121,8 +152,43 @@ export declare class ActionEngineServer extends BaseSingleton<ActionEngineServer
121
152
  * rejects with a "handler not registered" error from the worker pool.
122
153
  */
123
154
  protected RunRuntimeAction(params: RunActionParams): Promise<ActionResultSimple>;
124
- protected StartActionLog(params: RunActionParams, saveRecord?: boolean): Promise<MJActionExecutionLogEntity>;
155
+ /**
156
+ * The as-called input parameters, redacted and serialized, for `ActionExecutionLog.Params`.
157
+ *
158
+ * Taken **once, at the top of {@link RunAction}**, before the action can mutate its own parameter
159
+ * array. Custom and Generated actions write outputs back into the very array they were handed, so a
160
+ * snapshot taken any later — inside `StartActionLog`, or on the timeout path — is a post-hoc capture
161
+ * of a mutated array masquerading as "what it was called with".
162
+ *
163
+ * Every value passes through {@link RedactParamsToJSON} first: this method is the only producer of
164
+ * the `Params` column, so redaction here is what makes the column safe by construction.
165
+ */
166
+ protected SnapshotInputParams(params: RunActionParams): string;
167
+ /**
168
+ * The `ActionParam` definition rows for the action being run — the source of each parameter's
169
+ * `LogValue` flag. Read from the shared ActionEngineBase cache rather than off `params.Action`,
170
+ * which is typed as the plain entity and carries no params collection.
171
+ */
172
+ protected ParamDefinitionsFor(params: RunActionParams): MJActionParamEntity[];
173
+ /**
174
+ * How much of this run to log, from the Entity Action binding that dispatched it. Direct
175
+ * invocations have no binding and therefore always log — the pre-existing behaviour.
176
+ */
177
+ protected ResolveLoggingMode(params: RunActionParams): 'All' | 'FailuresOnly' | 'None';
178
+ /**
179
+ * Whether a completed run should leave a log row, honouring both the caller's `SkipActionLog` and
180
+ * the binding's `LoggingMode`. `FailuresOnly` exists for high-frequency bindings whose successful
181
+ * runs would otherwise dominate the log table; a failure is always written.
182
+ */
183
+ protected ShouldLogOutcome(params: RunActionParams, result: ActionResult): boolean;
184
+ protected StartActionLog(params: RunActionParams, saveRecord?: boolean, inputSnapshot?: string): Promise<MJActionExecutionLogEntity>;
125
185
  protected EndActionLog(logEntity: MJActionExecutionLogEntity, params: RunActionParams, result: ActionResult): Promise<void>;
126
- protected StartAndEndActionLog(params: RunActionParams, result: ActionResult): Promise<MJActionExecutionLogEntity>;
186
+ protected StartAndEndActionLog(params: RunActionParams, result: ActionResult, inputSnapshot?: string): Promise<MJActionExecutionLogEntity>;
187
+ /**
188
+ * Writes the Entity Action provenance onto a log row: which binding fired, from which lifecycle
189
+ * event, against which record. All four columns are NULL for a direct invocation, and that NULL is
190
+ * meaningful — it is how "nobody configured this, some code called it" reads in the log.
191
+ */
192
+ protected StampProvenance(logEntity: MJActionExecutionLogEntity, params: RunActionParams): void;
127
193
  }
128
194
  //# sourceMappingURL=ActionEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionEngine.d.ts","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActionEngine.d.ts","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { BaseEntitySaveQueue, LogError, LogErrorEx, Metadata } from "@memberjunction/core";
2
- import { BaseSingleton, MJGlobal, SafeJSONParse, UUIDsEqual } from "@memberjunction/global";
2
+ import { BaseSingleton, MJGlobal, MJLruCache, SafeJSONParse, UUIDsEqual } from "@memberjunction/global";
3
3
  import { BaseAction } from "./BaseAction.js";
4
- import { ActionEngineBase, RuntimeActionConfigurationSchema, RuntimeActionBridgeBuilder } from "@memberjunction/actions-base";
4
+ import { BaseActionFilter } from "./BaseActionFilter.js";
5
+ import { ActionEngineBase, RuntimeActionConfigurationSchema, RuntimeActionBridgeBuilder, RedactParamsToJSON } from "@memberjunction/actions-base";
5
6
  import { RuntimeActionExecutor } from "@memberjunction/action-runtime";
6
7
  /**
7
8
  * Base class for executing actions. This class can be sub-classed if desired if you would like to modify the logic across ALL actions. To do so, sub-class this class and use the
@@ -23,6 +24,11 @@ export class ActionEngineServer extends BaseSingleton {
23
24
  * long-lived singleton.
24
25
  */
25
26
  this._logQueue = new BaseEntitySaveQueue();
27
+ /**
28
+ * Bounded cache of compiled filter functions. Keyed by filter ID + row version so an edited
29
+ * filter's Code is recompiled on next use instead of serving the stale compilation.
30
+ */
31
+ this._filterCache = new MJLruCache({ maxSize: 1000 });
26
32
  }
27
33
  static get Instance() {
28
34
  return super.getInstance();
@@ -80,6 +86,10 @@ export class ActionEngineServer extends BaseSingleton {
80
86
  return 2 * 60 * 60 * 1000;
81
87
  }
82
88
  async RunAction(params) {
89
+ // Snapshot the inputs BEFORE anything can run — see SnapshotInputParams. Threaded down every
90
+ // path (validation failure, filter refusal, timeout, normal run) so all four write the same
91
+ // as-called values into ActionExecutionLog.Params.
92
+ const inputSnapshot = this.SnapshotInputParams(params);
83
93
  const validInputs = await this.ValidateInputs(params);
84
94
  if (!validInputs) {
85
95
  const result = {
@@ -89,8 +99,8 @@ export class ActionEngineServer extends BaseSingleton {
89
99
  Params: params.Params,
90
100
  RunParams: params
91
101
  };
92
- if (!params.SkipActionLog) {
93
- result.LogEntry = await this.StartAndEndActionLog(params, result);
102
+ if (this.ShouldLogOutcome(params, result)) {
103
+ result.LogEntry = await this.StartAndEndActionLog(params, result, inputSnapshot);
94
104
  }
95
105
  return result;
96
106
  }
@@ -104,11 +114,11 @@ export class ActionEngineServer extends BaseSingleton {
104
114
  Params: params.Params,
105
115
  RunParams: params
106
116
  };
107
- if (!params.SkipActionLog) {
108
- result.LogEntry = await this.StartAndEndActionLog(params, result);
117
+ if (this.ShouldLogOutcome(params, result)) {
118
+ result.LogEntry = await this.StartAndEndActionLog(params, result, inputSnapshot);
109
119
  }
110
120
  }
111
- return await this.RunActionWithTimeout(params);
121
+ return await this.RunActionWithTimeout(params, inputSnapshot);
112
122
  }
113
123
  /**
114
124
  * Wraps `InternalRunAction()` with a universal wall-clock timeout
@@ -122,7 +132,7 @@ export class ActionEngineServer extends BaseSingleton {
122
132
  * (e.g. when being run from a Runtime-action bridge that has its own
123
133
  * abort), we chain to it so either source can trigger cancellation.
124
134
  */
125
- async RunActionWithTimeout(params) {
135
+ async RunActionWithTimeout(params, inputSnapshot) {
126
136
  const actionTimeoutMS = params.Action.MaxExecutionTimeMS ?? this.DefaultActionTimeoutMS;
127
137
  // Chain with any upstream AbortSignal (e.g. Runtime-action bridge).
128
138
  const controller = new AbortController();
@@ -156,7 +166,7 @@ export class ActionEngineServer extends BaseSingleton {
156
166
  }, { once: true });
157
167
  });
158
168
  try {
159
- return await Promise.race([this.InternalRunAction(params), timeoutPromise]);
169
+ return await Promise.race([this.InternalRunAction(params, inputSnapshot), timeoutPromise]);
160
170
  }
161
171
  catch (err) {
162
172
  // Timeout or upstream abort — return a standard TIMEOUT result.
@@ -175,8 +185,8 @@ export class ActionEngineServer extends BaseSingleton {
175
185
  RunParams: params,
176
186
  Result: undefined
177
187
  };
178
- if (!params.SkipActionLog) {
179
- timeoutResult.LogEntry = await this.StartAndEndActionLog(params, timeoutResult);
188
+ if (this.ShouldLogOutcome(params, timeoutResult)) {
189
+ timeoutResult.LogEntry = await this.StartAndEndActionLog(params, timeoutResult, inputSnapshot);
180
190
  }
181
191
  return timeoutResult;
182
192
  }
@@ -194,7 +204,7 @@ export class ActionEngineServer extends BaseSingleton {
194
204
  }
195
205
  }
196
206
  GetActionParamsForAction(action) {
197
- const params = action.Params.map((param) => {
207
+ const params = action.Params.Items.map((param) => {
198
208
  let value = null;
199
209
  switch (param.ValueType) {
200
210
  case 'Scalar':
@@ -246,18 +256,70 @@ export class ActionEngineServer extends BaseSingleton {
246
256
  return true; // if we get here we either had no filters or passed them all
247
257
  }
248
258
  /**
249
- * This method runs a single filter. Subclasses can override this method to provide custom filter logic.
259
+ * Runs a single Action Filter and returns whether the action should proceed.
260
+ *
261
+ * Resolution order:
262
+ * 1. A {@link BaseActionFilter} subclass registered with the ClassFactory under the filter's ID
263
+ * (the CodeGen / custom-subclass pattern documented on BaseActionFilter) wins when present.
264
+ * 2. Otherwise the filter's `Code` column — JavaScript that evaluates to true (allow) or
265
+ * false (prevent), per the column contract — is compiled once per filter row version and
266
+ * executed with an {@link ActionFilterContext} argument. The code may `return` its verdict
267
+ * or assign `ActionFilterContext.result`.
250
268
  *
251
- * @param filter
269
+ * Failure semantics are FAIL-CLOSED: a filter that throws, yields a non-boolean, or has no
270
+ * evaluable logic prevents the action and logs the reason. A broken gate must not silently
271
+ * allow execution — silently allowing everything is precisely the pre-fix bug this replaces.
272
+ *
273
+ * Subclasses can still override this method entirely to provide custom filter logic.
252
274
  */
253
275
  async RunSingleFilter(params, filter) {
254
- return true;
255
- // temp stub above, replace with code that will run the filter
276
+ try {
277
+ const registered = MJGlobal.Instance.ClassFactory.GetAllRegistrations(BaseActionFilter, filter.ID);
278
+ if (registered && registered.length > 0) {
279
+ const instance = MJGlobal.Instance.ClassFactory.CreateInstance(BaseActionFilter, filter.ID);
280
+ if (instance) {
281
+ return await instance.Run(params, filter) === true;
282
+ }
283
+ }
284
+ const code = filter.Code?.trim();
285
+ if (!code) {
286
+ LogError(`Action Filter ${filter.ID} has no Code and no registered BaseActionFilter subclass — failing closed, action prevented.`);
287
+ return false;
288
+ }
289
+ const cacheKey = `${filter.ID}:${filter.__mj_UpdatedAt instanceof Date ? filter.__mj_UpdatedAt.getTime() : ''}`;
290
+ let filterFunction = this._filterCache.Get(cacheKey);
291
+ if (!filterFunction) {
292
+ filterFunction = new Function('ActionFilterContext', `
293
+ return (async () => {
294
+ ${code}
295
+ })();
296
+ `);
297
+ this._filterCache.Set(cacheKey, filterFunction);
298
+ }
299
+ const context = { params, filter, result: null };
300
+ const returned = await filterFunction(context);
301
+ const verdict = returned ?? context.result;
302
+ if (typeof verdict !== 'boolean') {
303
+ LogError(`Action Filter ${filter.ID} evaluated to a non-boolean verdict (${String(verdict)}) — failing closed, action prevented.`);
304
+ return false;
305
+ }
306
+ return verdict;
307
+ }
308
+ catch (e) {
309
+ LogErrorEx({
310
+ message: `Action Filter ${filter.ID} threw during evaluation — failing closed, action prevented.`,
311
+ error: e instanceof Error ? e : new Error(String(e))
312
+ });
313
+ return false;
314
+ }
256
315
  }
257
- async InternalRunAction(params) {
316
+ async InternalRunAction(params, inputSnapshot) {
317
+ const loggingMode = this.ResolveLoggingMode(params);
258
318
  let logEntry;
259
- if (!params.SkipActionLog) {
260
- logEntry = await this.StartActionLog(params);
319
+ if (!params.SkipActionLog && loggingMode !== 'None') {
320
+ // Under 'FailuresOnly' the row is built but the 'started' INSERT is withheld: if the run
321
+ // succeeds nothing is ever written, and if it fails EndActionLog's force-persist inserts it.
322
+ logEntry = await this.StartActionLog(params, loggingMode === 'All', inputSnapshot);
261
323
  }
262
324
  try {
263
325
  // Branch by Action.Type. Runtime actions go through the sandboxed
@@ -277,9 +339,14 @@ export class ActionEngineServer extends BaseSingleton {
277
339
  Params: simpleResult.Params || params.Params,
278
340
  Result: resultCodeEntity
279
341
  };
280
- if (logEntry) {
342
+ if (logEntry && this.ShouldLogOutcome(params, result)) {
281
343
  await this.EndActionLog(logEntry, params, result);
282
344
  }
345
+ else if (logEntry) {
346
+ // 'FailuresOnly' + success: the row was never inserted, so drop it rather than return a
347
+ // LogEntry pointing at a row that does not exist.
348
+ result.LogEntry = undefined;
349
+ }
283
350
  return result;
284
351
  }
285
352
  catch (e) {
@@ -297,6 +364,8 @@ export class ActionEngineServer extends BaseSingleton {
297
364
  Result: undefined
298
365
  };
299
366
  if (logEntry) {
367
+ // An exception is always a failure, so every logging mode except 'None' records it —
368
+ // and 'None' never produced a logEntry in the first place.
300
369
  await this.EndActionLog(logEntry, params, result);
301
370
  }
302
371
  return result;
@@ -408,7 +477,51 @@ export class ActionEngineServer extends BaseSingleton {
408
477
  Params: execResult.params
409
478
  };
410
479
  }
411
- async StartActionLog(params, saveRecord = true) {
480
+ /**
481
+ * The as-called input parameters, redacted and serialized, for `ActionExecutionLog.Params`.
482
+ *
483
+ * Taken **once, at the top of {@link RunAction}**, before the action can mutate its own parameter
484
+ * array. Custom and Generated actions write outputs back into the very array they were handed, so a
485
+ * snapshot taken any later — inside `StartActionLog`, or on the timeout path — is a post-hoc capture
486
+ * of a mutated array masquerading as "what it was called with".
487
+ *
488
+ * Every value passes through {@link RedactParamsToJSON} first: this method is the only producer of
489
+ * the `Params` column, so redaction here is what makes the column safe by construction.
490
+ */
491
+ SnapshotInputParams(params) {
492
+ return RedactParamsToJSON(params.Params, this.ParamDefinitionsFor(params), params.Provenance?.EntityActionParams);
493
+ }
494
+ /**
495
+ * The `ActionParam` definition rows for the action being run — the source of each parameter's
496
+ * `LogValue` flag. Read from the shared ActionEngineBase cache rather than off `params.Action`,
497
+ * which is typed as the plain entity and carries no params collection.
498
+ */
499
+ ParamDefinitionsFor(params) {
500
+ return params.Action ? this.ActionParams.filter(p => UUIDsEqual(p.ActionID, params.Action.ID)) : [];
501
+ }
502
+ /**
503
+ * How much of this run to log, from the Entity Action binding that dispatched it. Direct
504
+ * invocations have no binding and therefore always log — the pre-existing behaviour.
505
+ */
506
+ ResolveLoggingMode(params) {
507
+ return params.Provenance?.LoggingMode ?? 'All';
508
+ }
509
+ /**
510
+ * Whether a completed run should leave a log row, honouring both the caller's `SkipActionLog` and
511
+ * the binding's `LoggingMode`. `FailuresOnly` exists for high-frequency bindings whose successful
512
+ * runs would otherwise dominate the log table; a failure is always written.
513
+ */
514
+ ShouldLogOutcome(params, result) {
515
+ if (params.SkipActionLog) {
516
+ return false;
517
+ }
518
+ const mode = this.ResolveLoggingMode(params);
519
+ if (mode === 'None') {
520
+ return false;
521
+ }
522
+ return mode !== 'FailuresOnly' || !result.Success;
523
+ }
524
+ async StartActionLog(params, saveRecord = true, inputSnapshot) {
412
525
  // this is where the log entry for the action run will be created
413
526
  const md = params.Provider ?? new Metadata();
414
527
  const logEntity = await md.GetEntityObject('MJ: Action Execution Logs', this.ContextUser);
@@ -416,8 +529,11 @@ export class ActionEngineServer extends BaseSingleton {
416
529
  logEntity.ActionID = params.Action.ID;
417
530
  logEntity.StartedAt = new Date();
418
531
  logEntity.UserID = this.ContextUser.ID;
419
- // we will save this again in the EndActionLog, this is the initial state, and the action could add/modify the params
420
- logEntity.Params = JSON.stringify(params.Params);
532
+ // The as-called inputs. Written once and never overwritten EndActionLog writes the final
533
+ // merged set to ResultParams instead. `inputSnapshot` is supplied by RunAction; the fallback
534
+ // covers callers that reach StartActionLog directly.
535
+ logEntity.Params = inputSnapshot ?? this.SnapshotInputParams(params);
536
+ this.StampProvenance(logEntity, params);
421
537
  if (saveRecord) {
422
538
  // Fire-and-forget the 'started' INSERT (unless the caller opts out) — the action runs
423
539
  // immediately, off the DB round-trip critical path. The ID is already assigned by NewRecord(),
@@ -435,7 +551,11 @@ export class ActionEngineServer extends BaseSingleton {
435
551
  // from the sandbox executor that lives on `result.Params`, so logging `params.Params` would lose
436
552
  // every new output key. Custom/Generated actions mutate `params.Params` in place, and
437
553
  // `result.Params` falls back to that same reference, so they remain equivalent.
438
- const finalParams = JSON.stringify(result.Params ?? params.Params);
554
+ //
555
+ // This goes to ResultParams, NOT Params: Params holds the as-called inputs captured at the top of
556
+ // RunAction and is deliberately never overwritten, so a run's inputs stay recoverable even though
557
+ // the action mutated the array they arrived in.
558
+ const finalParams = RedactParamsToJSON(result.Params ?? params.Params, this.ParamDefinitionsFor(params), params.Provenance?.EntityActionParams);
439
559
  const resultCode = result.Result?.ResultCode;
440
560
  const message = result.Message;
441
561
  // Fire-and-forget — the action's caller never blocks on the 'ended' UPDATE. The mutation runs
@@ -443,16 +563,31 @@ export class ActionEngineServer extends BaseSingleton {
443
563
  // the INSERT's reload. The queue is self-bounding, so no flush is needed on this long-lived singleton.
444
564
  this._logQueue.Update(logEntity, () => {
445
565
  logEntity.EndedAt = endedAt;
446
- logEntity.Params = finalParams;
566
+ logEntity.ResultParams = finalParams;
447
567
  logEntity.ResultCode = resultCode;
448
568
  logEntity.Message = message;
449
569
  });
450
570
  }
451
- async StartAndEndActionLog(params, result) {
571
+ async StartAndEndActionLog(params, result, inputSnapshot) {
452
572
  // No separate INSERT — the single 'ended' UPDATE (force-persist on a never-inserted NewRecord) inserts.
453
- const logEntity = await this.StartActionLog(params, false);
573
+ const logEntity = await this.StartActionLog(params, false, inputSnapshot);
454
574
  await this.EndActionLog(logEntity, params, result);
455
575
  return logEntity;
456
576
  }
577
+ /**
578
+ * Writes the Entity Action provenance onto a log row: which binding fired, from which lifecycle
579
+ * event, against which record. All four columns are NULL for a direct invocation, and that NULL is
580
+ * meaningful — it is how "nobody configured this, some code called it" reads in the log.
581
+ */
582
+ StampProvenance(logEntity, params) {
583
+ const provenance = params.Provenance;
584
+ if (!provenance) {
585
+ return;
586
+ }
587
+ logEntity.EntityActionID = provenance.EntityActionID ?? null;
588
+ logEntity.EntityActionInvocationTypeID = provenance.EntityActionInvocationTypeID ?? null;
589
+ logEntity.TargetEntityID = provenance.TargetEntityID ?? null;
590
+ logEntity.TargetRecordID = provenance.TargetRecordID ?? null;
591
+ }
457
592
  }
458
593
  //# sourceMappingURL=ActionEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionEngine.js","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActionEngine.js","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './generic/BaseActionFilter.js';
3
3
  export * from './generic/BaseOAuthAction.js';
4
4
  export * from './generic/ActionEngine.js';
5
5
  export * from './generic/OAuth2Manager.js';
6
+ export * from './entity-actions/EntityActionDispatchGuard.js';
6
7
  export * from './entity-actions/EntityActionEngine.js';
7
8
  export * from './entity-actions/EntityActionInvocationTypes.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,qCAAqC,CAAC;AACpD,cAAc,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,8CAA8C,CAAC"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ export * from './generic/BaseActionFilter.js';
3
3
  export * from './generic/BaseOAuthAction.js';
4
4
  export * from './generic/ActionEngine.js';
5
5
  export * from './generic/OAuth2Manager.js';
6
+ export * from './entity-actions/EntityActionDispatchGuard.js';
6
7
  export * from './entity-actions/EntityActionEngine.js';
7
8
  export * from './entity-actions/EntityActionInvocationTypes.js';
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,qCAAqC,CAAC;AACpD,cAAc,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,8CAA8C,CAAC"}
package/package.json CHANGED
@@ -1,37 +1,38 @@
1
1
  {
2
2
  "name": "@memberjunction/actions",
3
3
  "type": "module",
4
- "version": "5.51.0",
4
+ "version": "6.1.0-edge.1",
5
5
  "description": "Main library for MemberJunction Actions. This library is only intended to be imported on the server side.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [
9
9
  "/dist"
10
10
  ],
11
- "scripts": {
12
- "start": "ts-node-dev src/index.ts",
13
- "build": "tsc && tsc-alias -f",
14
- "test": "vitest run",
15
- "test:watch": "vitest"
16
- },
17
11
  "author": "MemberJunction.com",
18
12
  "license": "ISC",
19
13
  "devDependencies": {
20
14
  "ts-node-dev": "^2.0.0",
21
- "typescript": "^5.9.3"
15
+ "typescript": "^5.9.3",
16
+ "vitest": "^3.1.1"
22
17
  },
23
18
  "dependencies": {
24
- "@memberjunction/action-runtime": "5.51.0",
25
- "@memberjunction/actions-base": "5.51.0",
26
- "@memberjunction/ai": "5.51.0",
27
- "@memberjunction/code-execution": "5.51.0",
28
- "@memberjunction/core": "5.51.0",
29
- "@memberjunction/core-entities": "5.51.0",
30
- "@memberjunction/doc-utils": "5.51.0",
31
- "@memberjunction/global": "5.51.0"
19
+ "@memberjunction/action-runtime": "6.1.0-edge.1",
20
+ "@memberjunction/actions-base": "6.1.0-edge.1",
21
+ "@memberjunction/ai": "6.1.0-edge.1",
22
+ "@memberjunction/code-execution": "6.1.0-edge.1",
23
+ "@memberjunction/core": "6.1.0-edge.1",
24
+ "@memberjunction/core-entities": "6.1.0-edge.1",
25
+ "@memberjunction/doc-utils": "6.1.0-edge.1",
26
+ "@memberjunction/global": "6.1.0-edge.1"
32
27
  },
33
28
  "repository": {
34
29
  "type": "git",
35
30
  "url": "https://github.com/MemberJunction/MJ"
31
+ },
32
+ "scripts": {
33
+ "start": "ts-node-dev src/index.ts",
34
+ "build": "tsc && tsc-alias -f",
35
+ "test": "vitest run",
36
+ "test:watch": "vitest"
36
37
  }
37
- }
38
+ }