@memberjunction/actions 6.2.0-edge.3 → 6.2.0-edge.5
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/dist/generic/ActionEngine.d.ts +77 -2
- package/dist/generic/ActionEngine.d.ts.map +1 -1
- package/dist/generic/ActionEngine.js +148 -11
- package/dist/generic/ActionEngine.js.map +1 -1
- package/dist/generic/BaseAction.d.ts +23 -0
- package/dist/generic/BaseAction.d.ts.map +1 -1
- package/dist/generic/BaseAction.js +25 -0
- package/dist/generic/BaseAction.js.map +1 -1
- package/package.json +9 -9
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { UserInfo, IMetadataProvider } from "@memberjunction/core";
|
|
2
|
-
import { MJActionExecutionLogEntity, MJActionCategoryEntity, MJActionFilterEntity, MJActionLibraryEntity, MJActionParamEntity, MJActionResultCodeEntity } from "@memberjunction/core-entities";
|
|
1
|
+
import { UserInfo, IMetadataProvider, DatabaseProviderBase } from "@memberjunction/core";
|
|
2
|
+
import { MJActionEntity, MJActionExecutionLogEntity, MJActionCategoryEntity, MJActionFilterEntity, MJActionLibraryEntity, MJActionParamEntity, MJActionResultCodeEntity } from "@memberjunction/core-entities";
|
|
3
3
|
import { BaseSingleton } from "@memberjunction/global";
|
|
4
|
+
import { BaseAction } from "./BaseAction.js";
|
|
4
5
|
import { MJActionEntityExtended, ActionParam, ActionResult, ActionResultSimple, RunActionParams, EntityChangeContext } from "@memberjunction/actions-base";
|
|
5
6
|
/**
|
|
6
7
|
* The `Message` on a run that a filter prevented.
|
|
@@ -52,6 +53,25 @@ export interface ActionFilterContext {
|
|
|
52
53
|
*/
|
|
53
54
|
DidFieldChangeToValue(fieldName: string, value: unknown): boolean;
|
|
54
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Opens a provider on the host's read-only database login. Resolves null when the host has no
|
|
58
|
+
* read-only login configured.
|
|
59
|
+
*/
|
|
60
|
+
export type ReadOnlyProviderFactory = () => Promise<DatabaseProviderBase | null>;
|
|
61
|
+
/**
|
|
62
|
+
* The host's checks for SQL a caller wrote, so that an action which runs such SQL applies the same
|
|
63
|
+
* rules as the host's own ad-hoc SQL API. MJServer registers one at startup.
|
|
64
|
+
*/
|
|
65
|
+
export interface AdhocSQLAuthorizer {
|
|
66
|
+
/**
|
|
67
|
+
* Why `contextUser` may not run `sql` on `provider`, or null when they may. The host checks the
|
|
68
|
+
* SQL as it will run: one read statement, and every table it reads an entity view the user may
|
|
69
|
+
* read in full.
|
|
70
|
+
*/
|
|
71
|
+
Authorize(sql: string, provider: DatabaseProviderBase, contextUser: UserInfo): string | null;
|
|
72
|
+
/** The timeout, in seconds, to run with when the caller asks for `requestedSeconds`. */
|
|
73
|
+
ClampTimeoutSeconds(requestedSeconds: number | undefined): number;
|
|
74
|
+
}
|
|
55
75
|
/**
|
|
56
76
|
* 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
|
|
57
77
|
* @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.
|
|
@@ -84,6 +104,39 @@ export declare class ActionEngineServer extends BaseSingleton<ActionEngineServer
|
|
|
84
104
|
get Loaded(): boolean;
|
|
85
105
|
get ContextUser(): UserInfo;
|
|
86
106
|
set ContextUser(value: UserInfo);
|
|
107
|
+
private _readOnlyProviderFactory?;
|
|
108
|
+
/**
|
|
109
|
+
* Registers how the host opens a provider on its read-only database login. MJServer registers one
|
|
110
|
+
* at startup. A second registration through this setter throws; code running inside the server
|
|
111
|
+
* process can still replace it.
|
|
112
|
+
* @throws Error when a factory is already registered
|
|
113
|
+
*/
|
|
114
|
+
SetReadOnlyProviderFactory(factory: ReadOnlyProviderFactory): void;
|
|
115
|
+
/**
|
|
116
|
+
* A provider on the host's read-only database login, for actions that run caller-supplied SQL.
|
|
117
|
+
* Such actions run only here and never fall back to the read-write provider, so they refuse when
|
|
118
|
+
* this resolves null: no factory registered, or no read-only login configured.
|
|
119
|
+
*/
|
|
120
|
+
GetReadOnlyProvider(): Promise<DatabaseProviderBase | null>;
|
|
121
|
+
private _adhocSQLAuthorizer?;
|
|
122
|
+
/**
|
|
123
|
+
* Registers the host's checks for SQL a caller wrote. MJServer registers one at startup. A second
|
|
124
|
+
* registration through this setter throws; code running inside the server process can still
|
|
125
|
+
* replace it.
|
|
126
|
+
* @throws Error when an authorizer is already registered
|
|
127
|
+
*/
|
|
128
|
+
SetAdhocSQLAuthorizer(authorizer: AdhocSQLAuthorizer): void;
|
|
129
|
+
/**
|
|
130
|
+
* The host's checks for SQL a caller wrote. Actions that run such SQL refuse when this is null.
|
|
131
|
+
*/
|
|
132
|
+
get AdhocSQLAuthorizer(): AdhocSQLAuthorizer | null;
|
|
133
|
+
/**
|
|
134
|
+
* True when the class that runs `action` declares {@link BaseAction.AuthorizesCaller} itself. The
|
|
135
|
+
* class is resolved the way {@link RunClassBasedAction} resolves it. A subclass that overrides a
|
|
136
|
+
* marked action does not inherit the marker. A Runtime action, or one with no registered class,
|
|
137
|
+
* does not authorize its caller.
|
|
138
|
+
*/
|
|
139
|
+
ActionAuthorizesCaller(action: MJActionEntity): boolean;
|
|
87
140
|
get Actions(): MJActionEntityExtended[];
|
|
88
141
|
get ActionCategories(): MJActionCategoryEntity[];
|
|
89
142
|
get ActionParams(): MJActionParamEntity[];
|
|
@@ -171,6 +224,28 @@ export declare class ActionEngineServer extends BaseSingleton<ActionEngineServer
|
|
|
171
224
|
* the Type dispatch is readable.
|
|
172
225
|
*/
|
|
173
226
|
protected RunClassBasedAction(params: RunActionParams): Promise<ActionResultSimple>;
|
|
227
|
+
/**
|
|
228
|
+
* The registered class for a Custom / Generated action — keyed by its `DriverClass`, else its `Name` — or
|
|
229
|
+
* null when nothing more specific than `BaseAction` is registered.
|
|
230
|
+
*/
|
|
231
|
+
protected CreateActionInstance(params: RunActionParams): BaseAction | null;
|
|
232
|
+
/**
|
|
233
|
+
* The audience gate ({@link RunActionParams.Audience}): the refusal when the audience adds a reader beyond
|
|
234
|
+
* the caller and this run cannot honour it, else null — after normalizing the audience to the distinct
|
|
235
|
+
* readers beyond the caller, or clearing it when it adds nobody, so the action sees exactly the people to check.
|
|
236
|
+
*
|
|
237
|
+
* Refused, for EVERY action, under a malformed audience (`Readers` not an array, a reader that is not an object
|
|
238
|
+
* or has no `ID` — see {@link ActionAudienceReaders}): who the readers are cannot be checked, so no action may run
|
|
239
|
+
* as if there were none, nor pass it on to one that would take it as no audience. Refused under a well-formed
|
|
240
|
+
* audience that adds a reader: an action whose class does not declare `BaseAction.SupportsAudience`, or has no
|
|
241
|
+
* registered class; a runtime-defined action, whose code cannot declare support; and any deferred run, which
|
|
242
|
+
* hands the work to a path that executes it later, outside this gate. The refusal carries
|
|
243
|
+
* {@link AUDIENCE_UNSUPPORTED_RESULT_CODE} and writes no execution log row, since nothing ran. Protected so a
|
|
244
|
+
* host can change the rule.
|
|
245
|
+
*/
|
|
246
|
+
protected CheckAudience(params: RunActionParams): ActionResult | null;
|
|
247
|
+
/** Why this run cannot honour an audience, or null when it can. */
|
|
248
|
+
private audienceUnsupportedReason;
|
|
174
249
|
/**
|
|
175
250
|
* Runs an `Action.Type='Runtime'` action by delegating to the sandboxed
|
|
176
251
|
* RuntimeActionExecutor. Approval / Status / Code-presence checks are
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine.d.ts","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ActionEngine.d.ts","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BaseEntitySaveQueue, LogError, LogErrorEx, Metadata } from "@memberjunction/core";
|
|
1
|
+
import { BaseEntitySaveQueue, LogError, LogErrorEx, LogStatus, Metadata } from "@memberjunction/core";
|
|
2
2
|
import { BaseSingleton, MJGlobal, MJLruCache, SafeJSONParse, UUIDsEqual } from "@memberjunction/global";
|
|
3
3
|
import { BaseAction } from "./BaseAction.js";
|
|
4
4
|
import { BaseActionFilter } from "./BaseActionFilter.js";
|
|
5
|
-
import { ActionEngineBase, RuntimeActionConfigurationSchema, RuntimeActionBridgeBuilder, RedactParamsToJSON, DidFieldChange, DidFieldChangeToValue } from "@memberjunction/actions-base";
|
|
5
|
+
import { ActionEngineBase, RuntimeActionConfigurationSchema, RuntimeActionBridgeBuilder, RedactParamsToJSON, DidFieldChange, DidFieldChangeToValue, ActionAudienceReaders, AUDIENCE_UNSUPPORTED_RESULT_CODE } from "@memberjunction/actions-base";
|
|
6
6
|
import { RuntimeActionExecutor } from "@memberjunction/action-runtime";
|
|
7
7
|
/**
|
|
8
8
|
* The `Message` on a run that a filter prevented.
|
|
@@ -12,6 +12,16 @@ import { RuntimeActionExecutor } from "@memberjunction/action-runtime";
|
|
|
12
12
|
* refused rather than wondering why nothing happened.
|
|
13
13
|
*/
|
|
14
14
|
export const ACTION_PREVENTED_BY_FILTER_MESSAGE = 'Filters were run and the result indicated this action should not be executed. This is a Success condition as filters returning false is not considered an error.';
|
|
15
|
+
/** Why `CheckAudience` refuses every action under a malformed audience (the refusal message's closing clause). */
|
|
16
|
+
const MALFORMED_AUDIENCE_REASON = 'the audience naming them is malformed, so who they are cannot be checked';
|
|
17
|
+
/**
|
|
18
|
+
* True when `actionClass` declares `AuthorizesCaller = true` as its own static field. A subclass does
|
|
19
|
+
* not inherit the marker from its parent. The field is read by name, so a class built on another
|
|
20
|
+
* loaded copy of {@link BaseAction} qualifies too.
|
|
21
|
+
*/
|
|
22
|
+
function declaresAuthorizesCaller(actionClass) {
|
|
23
|
+
return typeof actionClass === 'function' && Object.getOwnPropertyDescriptor(actionClass, 'AuthorizesCaller')?.value === true;
|
|
24
|
+
}
|
|
15
25
|
/**
|
|
16
26
|
* 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
|
|
17
27
|
* @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.
|
|
@@ -31,7 +41,7 @@ export class ActionEngineServer extends BaseSingleton {
|
|
|
31
41
|
* impossible). The queue is self-bounding (in-flight tasks only), so it needs no flush on this
|
|
32
42
|
* long-lived singleton.
|
|
33
43
|
*/
|
|
34
|
-
this._logQueue = new BaseEntitySaveQueue();
|
|
44
|
+
this._logQueue = new BaseEntitySaveQueue({ saveReturnMode: 'datestamps_only' });
|
|
35
45
|
/**
|
|
36
46
|
* Bounded cache of compiled filter functions. Keyed by filter ID + row version so an edited
|
|
37
47
|
* filter's Code is recompiled on next use instead of serving the stale compilation.
|
|
@@ -68,6 +78,57 @@ export class ActionEngineServer extends BaseSingleton {
|
|
|
68
78
|
get Loaded() { return this.base.Loaded; }
|
|
69
79
|
get ContextUser() { return (this._contextUser ?? this.base.ContextUser); }
|
|
70
80
|
set ContextUser(value) { this._contextUser = value; }
|
|
81
|
+
/**
|
|
82
|
+
* Registers how the host opens a provider on its read-only database login. MJServer registers one
|
|
83
|
+
* at startup. A second registration through this setter throws; code running inside the server
|
|
84
|
+
* process can still replace it.
|
|
85
|
+
* @throws Error when a factory is already registered
|
|
86
|
+
*/
|
|
87
|
+
SetReadOnlyProviderFactory(factory) {
|
|
88
|
+
if (this._readOnlyProviderFactory) {
|
|
89
|
+
throw new Error('A read-only provider factory is already registered with the action engine; a second registration is not allowed.');
|
|
90
|
+
}
|
|
91
|
+
this._readOnlyProviderFactory = factory;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A provider on the host's read-only database login, for actions that run caller-supplied SQL.
|
|
95
|
+
* Such actions run only here and never fall back to the read-write provider, so they refuse when
|
|
96
|
+
* this resolves null: no factory registered, or no read-only login configured.
|
|
97
|
+
*/
|
|
98
|
+
async GetReadOnlyProvider() {
|
|
99
|
+
return this._readOnlyProviderFactory ? await this._readOnlyProviderFactory() : null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Registers the host's checks for SQL a caller wrote. MJServer registers one at startup. A second
|
|
103
|
+
* registration through this setter throws; code running inside the server process can still
|
|
104
|
+
* replace it.
|
|
105
|
+
* @throws Error when an authorizer is already registered
|
|
106
|
+
*/
|
|
107
|
+
SetAdhocSQLAuthorizer(authorizer) {
|
|
108
|
+
if (this._adhocSQLAuthorizer) {
|
|
109
|
+
throw new Error('An ad-hoc SQL authorizer is already registered with the action engine; a second registration is not allowed.');
|
|
110
|
+
}
|
|
111
|
+
this._adhocSQLAuthorizer = authorizer;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* The host's checks for SQL a caller wrote. Actions that run such SQL refuse when this is null.
|
|
115
|
+
*/
|
|
116
|
+
get AdhocSQLAuthorizer() {
|
|
117
|
+
return this._adhocSQLAuthorizer ?? null;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* True when the class that runs `action` declares {@link BaseAction.AuthorizesCaller} itself. The
|
|
121
|
+
* class is resolved the way {@link RunClassBasedAction} resolves it. A subclass that overrides a
|
|
122
|
+
* marked action does not inherit the marker. A Runtime action, or one with no registered class,
|
|
123
|
+
* does not authorize its caller.
|
|
124
|
+
*/
|
|
125
|
+
ActionAuthorizesCaller(action) {
|
|
126
|
+
if (action.Type === 'Runtime') {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
const registration = MJGlobal.Instance.ClassFactory.GetRegistration(BaseAction, action.DriverClass || action.Name);
|
|
130
|
+
return declaresAuthorizesCaller(registration?.SubClass);
|
|
131
|
+
}
|
|
71
132
|
// ── Proxied cached collections (single source of truth: ActionEngineBase.Instance) ──
|
|
72
133
|
get Actions() { return this.base.Actions; }
|
|
73
134
|
get ActionCategories() { return this.base.ActionCategories; }
|
|
@@ -94,6 +155,12 @@ export class ActionEngineServer extends BaseSingleton {
|
|
|
94
155
|
return 2 * 60 * 60 * 1000;
|
|
95
156
|
}
|
|
96
157
|
async RunAction(params) {
|
|
158
|
+
// An audience the run cannot honour refuses it before anything else — no validation, no filters, no log
|
|
159
|
+
// row: the action never runs. Otherwise the audience is normalized for the action (see CheckAudience).
|
|
160
|
+
const audienceRefusal = this.CheckAudience(params);
|
|
161
|
+
if (audienceRefusal) {
|
|
162
|
+
return audienceRefusal;
|
|
163
|
+
}
|
|
97
164
|
// Snapshot the inputs BEFORE anything can run — see SnapshotInputParams. Threaded down every
|
|
98
165
|
// path (validation failure, filter refusal, timeout, normal run) so all four write the same
|
|
99
166
|
// as-called values into ActionExecutionLog.Params.
|
|
@@ -244,8 +311,8 @@ export class ActionEngineServer extends BaseSingleton {
|
|
|
244
311
|
}
|
|
245
312
|
return {
|
|
246
313
|
Name: param.Name,
|
|
247
|
-
|
|
248
|
-
|
|
314
|
+
Type: param.Type,
|
|
315
|
+
Value: value
|
|
249
316
|
};
|
|
250
317
|
});
|
|
251
318
|
return params;
|
|
@@ -358,11 +425,14 @@ export class ActionEngineServer extends BaseSingleton {
|
|
|
358
425
|
const simpleResult = deferred ?? (params.Action.Type === 'Runtime'
|
|
359
426
|
? await this.RunRuntimeAction(params)
|
|
360
427
|
: await this.RunClassBasedAction(params));
|
|
361
|
-
const resultCodeEntity = this.
|
|
362
|
-
|
|
428
|
+
const resultCodeEntity = typeof this.base?.GetResultCode === 'function' && this.ActionResultCodes === this.base.ActionResultCodes
|
|
429
|
+
? this.base.GetResultCode(params.Action.ID, simpleResult.ResultCode)
|
|
430
|
+
: this.ActionResultCodes.find(r => UUIDsEqual(r.ActionID, params.Action.ID) &&
|
|
431
|
+
r.ResultCode.trim().toLowerCase() === simpleResult.ResultCode.trim().toLowerCase());
|
|
363
432
|
const result = {
|
|
364
433
|
RunParams: params,
|
|
365
434
|
Success: simpleResult.Success,
|
|
435
|
+
ResultCode: simpleResult.ResultCode,
|
|
366
436
|
Message: simpleResult.Message,
|
|
367
437
|
AIDirectives: simpleResult.AIDirectives,
|
|
368
438
|
LogEntry: logEntry,
|
|
@@ -407,12 +477,69 @@ export class ActionEngineServer extends BaseSingleton {
|
|
|
407
477
|
* the Type dispatch is readable.
|
|
408
478
|
*/
|
|
409
479
|
async RunClassBasedAction(params) {
|
|
410
|
-
const action =
|
|
411
|
-
if (!action
|
|
480
|
+
const action = this.CreateActionInstance(params);
|
|
481
|
+
if (!action) {
|
|
412
482
|
throw new Error(`Could not find a class for action ${params.Action.Name}.`);
|
|
413
483
|
}
|
|
414
484
|
return await action.Run(params);
|
|
415
485
|
}
|
|
486
|
+
/**
|
|
487
|
+
* The registered class for a Custom / Generated action — keyed by its `DriverClass`, else its `Name` — or
|
|
488
|
+
* null when nothing more specific than `BaseAction` is registered.
|
|
489
|
+
*/
|
|
490
|
+
CreateActionInstance(params) {
|
|
491
|
+
const action = MJGlobal.Instance.ClassFactory.CreateInstance(BaseAction, params.Action.DriverClass || params.Action.Name, params.ContextUser);
|
|
492
|
+
return action && action.constructor !== BaseAction ? action : null;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* The audience gate ({@link RunActionParams.Audience}): the refusal when the audience adds a reader beyond
|
|
496
|
+
* the caller and this run cannot honour it, else null — after normalizing the audience to the distinct
|
|
497
|
+
* readers beyond the caller, or clearing it when it adds nobody, so the action sees exactly the people to check.
|
|
498
|
+
*
|
|
499
|
+
* Refused, for EVERY action, under a malformed audience (`Readers` not an array, a reader that is not an object
|
|
500
|
+
* or has no `ID` — see {@link ActionAudienceReaders}): who the readers are cannot be checked, so no action may run
|
|
501
|
+
* as if there were none, nor pass it on to one that would take it as no audience. Refused under a well-formed
|
|
502
|
+
* audience that adds a reader: an action whose class does not declare `BaseAction.SupportsAudience`, or has no
|
|
503
|
+
* registered class; a runtime-defined action, whose code cannot declare support; and any deferred run, which
|
|
504
|
+
* hands the work to a path that executes it later, outside this gate. The refusal carries
|
|
505
|
+
* {@link AUDIENCE_UNSUPPORTED_RESULT_CODE} and writes no execution log row, since nothing ran. Protected so a
|
|
506
|
+
* host can change the rule.
|
|
507
|
+
*/
|
|
508
|
+
CheckAudience(params) {
|
|
509
|
+
const readers = ActionAudienceReaders(params.Audience, params.ContextUser);
|
|
510
|
+
if (readers !== null && readers.length === 0) {
|
|
511
|
+
params.Audience = undefined;
|
|
512
|
+
return null;
|
|
513
|
+
}
|
|
514
|
+
const reason = readers === null ? MALFORMED_AUDIENCE_REASON : this.audienceUnsupportedReason(params);
|
|
515
|
+
if (!reason && readers) {
|
|
516
|
+
params.Audience = { Readers: readers };
|
|
517
|
+
return null;
|
|
518
|
+
}
|
|
519
|
+
LogStatus(`ActionEngine: action '${params.Action.Name}' refused under an audience — ${reason}.`);
|
|
520
|
+
return {
|
|
521
|
+
RunParams: params,
|
|
522
|
+
Success: false,
|
|
523
|
+
ResultCode: AUDIENCE_UNSUPPORTED_RESULT_CODE,
|
|
524
|
+
Message: `Action '${params.Action.Name}' is not available here: its output would be shown to people besides the caller, and ${reason}.`,
|
|
525
|
+
LogEntry: undefined,
|
|
526
|
+
Params: params.Params,
|
|
527
|
+
Result: undefined
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
/** Why this run cannot honour an audience, or null when it can. */
|
|
531
|
+
audienceUnsupportedReason(params) {
|
|
532
|
+
if (params.DeferExecution) {
|
|
533
|
+
return 'a deferred run executes later, outside this dispatch, where nothing holds it to the audience';
|
|
534
|
+
}
|
|
535
|
+
if (params.Action.Type === 'Runtime') {
|
|
536
|
+
return 'a runtime-defined action cannot declare that it honours an audience';
|
|
537
|
+
}
|
|
538
|
+
if (this.CreateActionInstance(params)?.SupportsAudience === true) {
|
|
539
|
+
return null;
|
|
540
|
+
}
|
|
541
|
+
return 'it has not declared that it can limit what it returns to what every one of them may see';
|
|
542
|
+
}
|
|
416
543
|
/**
|
|
417
544
|
* Runs an `Action.Type='Runtime'` action by delegating to the sandboxed
|
|
418
545
|
* RuntimeActionExecutor. Approval / Status / Code-presence checks are
|
|
@@ -468,7 +595,9 @@ export class ActionEngineServer extends BaseSingleton {
|
|
|
468
595
|
config,
|
|
469
596
|
contextUser: params.ContextUser,
|
|
470
597
|
abortSignal: params.AbortSignal,
|
|
471
|
-
provider: params.Provider
|
|
598
|
+
provider: params.Provider,
|
|
599
|
+
runScope: params.RunScope,
|
|
600
|
+
audience: params.Audience
|
|
472
601
|
});
|
|
473
602
|
preamble = builder.GetPreamble();
|
|
474
603
|
}
|
|
@@ -519,6 +648,9 @@ export class ActionEngineServer extends BaseSingleton {
|
|
|
519
648
|
* the `Params` column, so redaction here is what makes the column safe by construction.
|
|
520
649
|
*/
|
|
521
650
|
SnapshotInputParams(params) {
|
|
651
|
+
if (!params.Params || params.Params.length === 0) {
|
|
652
|
+
return '[]';
|
|
653
|
+
}
|
|
522
654
|
return RedactParamsToJSON(params.Params, this.ParamDefinitionsFor(params), params.Provenance?.EntityActionParams);
|
|
523
655
|
}
|
|
524
656
|
/**
|
|
@@ -527,7 +659,12 @@ export class ActionEngineServer extends BaseSingleton {
|
|
|
527
659
|
* which is typed as the plain entity and carries no params collection.
|
|
528
660
|
*/
|
|
529
661
|
ParamDefinitionsFor(params) {
|
|
530
|
-
|
|
662
|
+
if (!params.Action)
|
|
663
|
+
return [];
|
|
664
|
+
if (typeof this.base?.GetParamsByActionID === 'function' && this.ActionParams === this.base.ActionParams) {
|
|
665
|
+
return this.base.GetParamsByActionID(params.Action.ID);
|
|
666
|
+
}
|
|
667
|
+
return this.ActionParams.filter(p => UUIDsEqual(p.ActionID, params.Action.ID));
|
|
531
668
|
}
|
|
532
669
|
/**
|
|
533
670
|
* How much of this run to log, from the Entity Action binding that dispatched it. Direct
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine.js","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAA+B,MAAM,sBAAsB,CAAC;AAExH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACH,gBAAgB,EAMhB,gCAAgC,EAChC,0BAA0B,EAC1B,kBAAkB,EAElB,cAAc,EACd,qBAAqB,EACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAKvE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAC5C,kKAAkK,CAAC;AAiDtK;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,aAAiC;IAAzE;;QA8DG;;;;;;;;;;;WAWG;QACc,cAAS,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAmNvD;;;WAGG;QACK,iBAAY,GAAG,IAAI,UAAU,CAA6D,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAsZxH,CAAC;IAprBS,MAAM,KAAK,QAAQ;QACvB,OAAO,KAAK,CAAC,WAAW,EAAsB,CAAC;IAClD,CAAC;IAED;;;;;;;;;OASG;IACH,IAAY,IAAI;QACb,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACpC,CAAC;IASD;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,eAAwB,KAAK,EAAE,WAAsB,EAAE,QAA4B;QACpG,IAAI,WAAW,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,kEAAkE;IAClE,IAAW,MAAM,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzD,IAAW,WAAW,KAAe,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAa,CAAC,CAAC,CAAC;IACvG,IAAW,WAAW,CAAC,KAAe,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;IAEtE,uFAAuF;IACvF,IAAW,OAAO,KAA+B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,IAAW,gBAAgB,KAA+B,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC9F,IAAW,YAAY,KAA4B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACnF,IAAW,aAAa,KAA6B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACtF,IAAW,iBAAiB,KAAiC,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAClG,IAAW,eAAe,KAA8B,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3F,IAAW,WAAW,KAA+B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACpF,IAAW,cAAc,KAA+B,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1F,IAAW,yBAAyB,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAE9F,wBAAwB;IACjB,iBAAiB,CAAC,UAAkB,EAAE,gBAAwB,IAAa,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC9I,YAAY,CAAC,MAA8B,IAAa,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChG,oBAAoB,CAAC,UAAkB,IAAa,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxG,eAAe,CAAC,UAAkB,IAAwC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAgBhI;;;;;;OAMG;IACH,IAAc,sBAAsB;QACjC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAuB;QAC3C,6FAA6F;QAC7F,4FAA4F;QAC5F,mDAAmD;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,WAAW,GAAY,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAG,CAAC,WAAW,EAAC,CAAC;YACd,MAAM,MAAM,GAAiB;gBAC1B,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,uDAAuD;gBAChE,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM;aACnB,CAAC;YAEF,IAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAC,CAAC;gBACvC,MAAM,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YACpF,CAAC;YAED,OAAO,MAAM,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAY,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAG,CAAC,aAAa,EAAC,CAAC;YAChB,kDAAkD;YAClD,MAAM,MAAM,GAAiB;gBAC1B,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,kCAAkC;gBAC3C,QAAQ,EAAE,IAAI,EAAE,iBAAiB;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM;aACnB,CAAC;YAEF,IAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAC,CAAC;gBACvC,MAAM,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YACpF,CAAC;YAED,yFAAyF;YACzF,wFAAwF;YACxF,sFAAsF;YACtF,2FAA2F;YAC3F,8BAA8B;YAC9B,OAAO,MAAM,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;OAWG;IACO,KAAK,CAAC,oBAAoB,CAAC,MAAuB,EAAE,aAAsB;QACjF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAExF,oEAAoE;QACpE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QAC1C,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9B,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,IAAI,gBAAgB,CAAC,CAAC;YAChE,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,cAAc,EAAE,CAAC;YAClB,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC1B,kBAAkB,EAAE,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACL,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,CAAC;QACJ,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9B,UAAU,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,IAAI,kCAAkC,eAAe,KAAK,CAAC,CAAC;YACzG,CAAC;QACJ,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,8EAA8E;QAC9E,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QAC1C,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;QAEvC,IAAI,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,OAAO,CAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gBACnE,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAC/B,OAAO,EACP,GAAG,EAAE;oBACF,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;gBACpE,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CAChB,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACF,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;YAC9F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACZ,gEAAgE;gBAChE,4EAA4E;gBAC5E,uEAAuE;gBACvE,gCAAgC;gBAChC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC7B,MAAM,OAAO,GACV,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ;wBACzC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;wBAC1B,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC;oBACrD,MAAM,aAAa,GAAiB;wBACjC,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,OAAO;wBAChB,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,SAAS,EAAE,MAAM;wBACjB,MAAM,EAAE,SAAS;qBACnB,CAAC;oBACF,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;wBAChD,aAAa,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;oBAClG,CAAC;oBACD,OAAO,aAAa,CAAC;gBACxB,CAAC;gBACD,mFAAmF;gBACnF,MAAM,GAAG,CAAC;YACb,CAAC;QACJ,CAAC;gBAAS,CAAC;YACR,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,cAAc,EAAE,CAAC;gBAClB,cAAc,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACnE,CAAC;YACD,iFAAiF;YACjF,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC;QACvC,CAAC;IACJ,CAAC;IAGS,wBAAwB,CAAC,MAA8B;QAC9D,MAAM,MAAM,GAAkB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAA0B,EAAE,EAAE;YAClF,IAAI,KAAK,GAAQ,IAAI,CAAC;YACtB,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;gBACvB,KAAK,QAAQ;oBACV,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC3B,MAAM;gBACT,KAAK,eAAe;oBACjB,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACpD,IAAI,SAAS,EAAC,CAAC;wBACZ,KAAK,GAAG,SAAS,CAAC;oBACrB,CAAC;yBACG,CAAC;wBACF,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC9B,CAAC;oBACD,MAAM;gBACT,KAAK,sBAAsB,CAAC;gBAC5B,KAAK,OAAO;oBACT,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC3B,MAAM;gBACT;oBACG,QAAQ,CAAC,qBAAqB,KAAK,CAAC,SAAS,cAAc,KAAK,CAAC,IAAI,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBAClG,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC3B,MAAM;YAEZ,CAAC;YAED,OAAO;gBACJ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;aAClB,CAAA;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IACjB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,cAAc,CAAC,MAAuB;QACnD,OAAO,IAAI,CAAC;IACf,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,UAAU,CAAC,MAAuB;QAC/C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;oBAC/C,OAAO,KAAK,CAAC;gBAChB,CAAC;YACJ,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,6DAA6D;IAC7E,CAAC;IAQD;;;;;;;;;;;;;;;;OAgBG;IACO,KAAK,CAAC,eAAe,CAAC,MAAuB,EAAE,MAA4B;QAClF,IAAI,CAAC;YACF,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACnG,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAmB,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC9G,IAAI,QAAQ,EAAE,CAAC;oBACZ,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;gBACtD,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,iBAAiB,MAAM,CAAC,EAAE,8FAA8F,CAAC,CAAC;gBACnI,OAAO,KAAK,CAAC;YAChB,CAAC;YAED,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,cAAc,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAChH,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACnB,cAAc,GAAG,IAAI,QAAQ,CAAC,qBAAqB,EAAE;;oBAE7C,IAAI;;aAEX,CAAuD,CAAC;gBACzD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;YACnC,MAAM,OAAO,GAAwB;gBAClC,MAAM;gBACN,MAAM;gBACN,MAAM,EAAE,IAAI;gBACZ,MAAM;gBACN,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;gBAClC,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;gBAClC,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC;gBAChE,qBAAqB,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;aAC9F,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;YAC3C,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;gBAChC,QAAQ,CAAC,iBAAiB,MAAM,CAAC,EAAE,wCAAwC,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;gBACnI,OAAO,KAAK,CAAC;YAChB,CAAC;YACD,OAAO,OAAO,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACR,UAAU,CAAC;gBACR,OAAO,EAAE,iBAAiB,MAAM,CAAC,EAAE,8DAA8D;gBACjG,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACtD,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QAChB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,MAAuB,EAAE,aAAsB;QAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,QAAgD,CAAC;QACrD,IAAG,CAAC,MAAM,CAAC,aAAa,IAAI,WAAW,KAAK,MAAM,EAAC,CAAC;YACjD,yFAAyF;YACzF,6FAA6F;YAC7F,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,KAAK,KAAK,EAAE,aAAa,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,CAAC;YACF,kEAAkE;YAClE,mEAAmE;YACnE,iEAAiE;YACjE,wFAAwF;YACxF,0FAA0F;YAC1F,yCAAyC;YACzC,MAAM,QAAQ,GAA8B,MAAM,CAAC,cAAc;gBAC9D,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;gBACrC,CAAC,CAAC,IAAI,CAAC;YACV,MAAM,YAAY,GAAuB,QAAQ,IAAI,CAClD,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;gBAC7B,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBACrC,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAC7C,CAAC;YAEF,MAAM,gBAAgB,GAAyC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClF,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1I,MAAM,MAAM,GAAiB;gBAC1B,SAAS,EAAE,MAAM;gBACjB,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,YAAY,EAAE,YAAY,CAAC,YAAY;gBACvC,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;gBAC5C,MAAM,EAAE,gBAAgB;aAC1B,CAAC;YAEF,IAAG,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAC,CAAC;gBACnD,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;iBACI,IAAI,QAAQ,EAAE,CAAC;gBACjB,wFAAwF;gBACxF,kDAAkD;gBAClD,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC/B,CAAC;YAED,OAAO,MAAM,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACR,2DAA2D;YAC3D,0EAA0E;YAC1E,sEAAsE;YACtE,4DAA4D;YAC5D,UAAU,CAAC,EAAE,OAAO,EAAE,wBAAwB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5H,MAAM,MAAM,GAAiB;gBAC1B,SAAS,EAAE,MAAM;gBACjB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,wBAAwB,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACpG,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,SAAS;aACnB,CAAC;YAEF,IAAG,QAAQ,EAAC,CAAC;gBACV,qFAAqF;gBACrF,2DAA2D;gBAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,MAAM,CAAC;QACjB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,mBAAmB,CAAC,MAAuB;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CACzD,UAAU,EACV,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAC/C,MAAM,CAAC,WAAW,CACpB,CAAC;QACF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACO,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACrD,oEAAoE;QACpE,iEAAiE;QACjE,wEAAwE;QACxE,MAAM,YAAY,GAAG,MAAM,CAAC,MAE3B,CAAC;QACF,MAAM,SAAS,GAAG,YAAY,CAAC,gCAAgC,CAAC;QAEhE,IAAI,cAA4C,CAAC;QACjD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,cAAkC,CAAC;QAEvC,IAAI,SAAS,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,gCAAgC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO;oBACJ,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EACJ,mBAAmB,MAAM,CAAC,MAAM,CAAC,IAAI,oBAAoB;wBACzD,+BAA+B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBACxD,MAAM,EAAE,MAAM,CAAC,MAAM;iBACvB,CAAC;YACL,CAAC;YACD,gEAAgE;YAChE,iEAAiE;YACjE,gEAAgE;YAChE,oEAAoE;YACpE,MAAM,MAAM,GAAG,MAAM,CAAC,IAA6D,CAAC;YAEpF,iEAAiE;YACjE,gEAAgE;YAChE,mEAAmE;YACnE,iEAAiE;YACjE,oEAAoE;YACpE,iEAAiE;YACjE,uDAAuD;YACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAC1D,0BAA0B,CAC5B,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACX,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;oBACpC,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM;oBACN,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC3B,CAAC,CAAC;gBACH,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,CAAC;YACD,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;QAClD,CAAC;QAED,8DAA8D;QAC9D,+DAA+D;QAC/D,iEAAiE;QACjE,yBAAyB;QACzB,MAAM,SAAS,GAAG,QAAQ;YACvB,CAAC,CAAC,GAAG,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE;YAC5C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAE9B,uEAAuE;QACvE,mEAAmE;QACnE,qEAAqE;QACrE,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CACrC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EACpC,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CACzB,CAAC;QAC1B,gEAAgE;QAChE,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;YAC/C,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7D,MAAM,EAAE,kBAAkB;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,cAAc;YACd,cAAc;SAChB,CAAC,CAAC;QAEH,OAAO;YACJ,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC3B,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACO,mBAAmB,CAAC,MAAuB;QAClD,OAAO,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACrH,CAAC;IAED;;;;OAIG;IACO,mBAAmB,CAAC,MAAuB;QAClD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvG,CAAC;IAED;;;OAGG;IACO,kBAAkB,CAAC,MAAuB;QACjD,OAAO,MAAM,CAAC,UAAU,EAAE,WAAW,IAAI,KAAK,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACO,gBAAgB,CAAC,MAAuB,EAAE,MAAoB;QACrE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,KAAK,cAAc,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IACrD,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAAuB,EAAE,aAAsB,IAAI,EAAE,aAAsB;QACvG,iEAAiE;QACjE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,eAAe,CAA6B,2BAA2B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtH,SAAS,CAAC,SAAS,EAAE,CAAC;QACtB,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,SAAS,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,2FAA2F;QAC3F,6FAA6F;QAC7F,qDAAqD;QACrD,SAAS,CAAC,MAAM,GAAG,aAAa,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACrE,8FAA8F;QAC9F,8FAA8F;QAC9F,4FAA4F;QAC5F,6FAA6F;QAC7F,kDAAkD;QAClD,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QAE1D,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAExC,IAAI,UAAU,EAAC,CAAC;YACb,sFAAsF;YACtF,+FAA+F;YAC/F,8FAA8F;YAC9F,0DAA0D;YAC1D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,SAAS,CAAC;IACpB,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,SAAqC,EAAE,MAAuB,EAAE,MAAoB;QAC9G,oGAAoG;QACpG,qGAAqG;QACrG,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,+FAA+F;QAC/F,iGAAiG;QACjG,sFAAsF;QACtF,gFAAgF;QAChF,EAAE;QACF,kGAAkG;QAClG,kGAAkG;QAClG,gDAAgD;QAChD,MAAM,WAAW,GAAG,kBAAkB,CACnC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAC9B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAChC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CACvC,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,8FAA8F;QAC9F,iGAAiG;QACjG,uGAAuG;QACvG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE;YACnC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;YAC5B,SAAS,CAAC,YAAY,GAAG,WAAW,CAAC;YACrC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC;YAClC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/B,CAAC,CAAC,CAAC;IACN,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,MAAuB,EAAE,MAAoB,EAAE,aAAsB;QACvG,wGAAwG;QACxG,MAAM,SAAS,GAA+B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACtG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,SAAS,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACO,eAAe,CAAC,SAAqC,EAAE,MAAuB;QACrF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;YACf,OAAO;QACV,CAAC;QACD,SAAS,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC;QAC7D,SAAS,CAAC,4BAA4B,GAAG,UAAU,CAAC,4BAA4B,IAAI,IAAI,CAAC;QACzF,SAAS,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC;QAC7D,SAAS,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC;IAChE,CAAC;CACH"}
|
|
1
|
+
{"version":3,"file":"ActionEngine.js","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,29 @@ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-bas
|
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
30
|
export declare abstract class BaseAction {
|
|
31
|
+
/**
|
|
32
|
+
* Whether this action can bound what it returns to an audience (`RunActionParams.Audience`): everyone
|
|
33
|
+
* besides the caller who will see its output, such as the other participants of a shared conversation.
|
|
34
|
+
*
|
|
35
|
+
* `false` by default, and the engine enforces it: when a run's audience adds a reader beyond the caller,
|
|
36
|
+
* `ActionEngineServer.RunAction` refuses the action with result code `AUDIENCE_UNSUPPORTED`, without running
|
|
37
|
+
* it. Override to return `true` only when the action honours the audience in full — every record, snippet
|
|
38
|
+
* and count it returns is something every reader may see (pass the audience to the search engine, check each
|
|
39
|
+
* reader's entitlement to anything it scopes by, and leave out aggregates computed before that filtering).
|
|
40
|
+
*/
|
|
41
|
+
get SupportsAudience(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* True when the action authorizes its caller itself, so a public entry point such as the
|
|
44
|
+
* `RunAction` mutation may run it for an authenticated user without an `MJ: Action
|
|
45
|
+
* Authorizations` link. Set it only on an action that either checks an authorization the caller
|
|
46
|
+
* must hold, or reads and writes only with the caller's own permissions. Leave it false for an
|
|
47
|
+
* action that acts with more authority than its caller, or that reaches data or sends messages
|
|
48
|
+
* the caller chooses but could not otherwise reach.
|
|
49
|
+
*
|
|
50
|
+
* The engine reads the marker only from the class that runs, never from its parent classes. A
|
|
51
|
+
* subclass that overrides a marked action must declare the marker again.
|
|
52
|
+
*/
|
|
53
|
+
static readonly AuthorizesCaller: boolean;
|
|
31
54
|
/**
|
|
32
55
|
* Executes the action with the provided parameters.
|
|
33
56
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAction.d.ts","sourceRoot":"","sources":["../../src/generic/BaseAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,8BAAsB,UAAU;IAC7B;;;;;OAKG;IACU,GAAG,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAItE;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAC5F"}
|
|
1
|
+
{"version":3,"file":"BaseAction.d.ts","sourceRoot":"","sources":["../../src/generic/BaseAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,8BAAsB,UAAU;IAC7B;;;;;;;;;OASG;IACH,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED;;;;;;;;;;OAUG;IACH,gBAAuB,gBAAgB,EAAE,OAAO,CAAS;IAEzD;;;;;OAKG;IACU,GAAG,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAItE;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAC5F"}
|
|
@@ -27,6 +27,31 @@
|
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
29
|
export class BaseAction {
|
|
30
|
+
/**
|
|
31
|
+
* Whether this action can bound what it returns to an audience (`RunActionParams.Audience`): everyone
|
|
32
|
+
* besides the caller who will see its output, such as the other participants of a shared conversation.
|
|
33
|
+
*
|
|
34
|
+
* `false` by default, and the engine enforces it: when a run's audience adds a reader beyond the caller,
|
|
35
|
+
* `ActionEngineServer.RunAction` refuses the action with result code `AUDIENCE_UNSUPPORTED`, without running
|
|
36
|
+
* it. Override to return `true` only when the action honours the audience in full — every record, snippet
|
|
37
|
+
* and count it returns is something every reader may see (pass the audience to the search engine, check each
|
|
38
|
+
* reader's entitlement to anything it scopes by, and leave out aggregates computed before that filtering).
|
|
39
|
+
*/
|
|
40
|
+
get SupportsAudience() {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* True when the action authorizes its caller itself, so a public entry point such as the
|
|
45
|
+
* `RunAction` mutation may run it for an authenticated user without an `MJ: Action
|
|
46
|
+
* Authorizations` link. Set it only on an action that either checks an authorization the caller
|
|
47
|
+
* must hold, or reads and writes only with the caller's own permissions. Leave it false for an
|
|
48
|
+
* action that acts with more authority than its caller, or that reaches data or sends messages
|
|
49
|
+
* the caller chooses but could not otherwise reach.
|
|
50
|
+
*
|
|
51
|
+
* The engine reads the marker only from the class that runs, never from its parent classes. A
|
|
52
|
+
* subclass that overrides a marked action must declare the marker again.
|
|
53
|
+
*/
|
|
54
|
+
static { this.AuthorizesCaller = false; }
|
|
30
55
|
/**
|
|
31
56
|
* Executes the action with the provided parameters.
|
|
32
57
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAction.js","sourceRoot":"","sources":["../../src/generic/BaseAction.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAgB,UAAU;IAC7B;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,MAAuB;QACrC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC
|
|
1
|
+
{"version":3,"file":"BaseAction.js","sourceRoot":"","sources":["../../src/generic/BaseAction.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAgB,UAAU;IAC7B;;;;;;;;;OASG;IACH,IAAW,gBAAgB;QACxB,OAAO,KAAK,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;aACoB,qBAAgB,GAAY,KAAK,CAAC;IAEzD;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,MAAuB;QACrC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/actions",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.2.0-edge.
|
|
4
|
+
"version": "6.2.0-edge.5",
|
|
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",
|
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
"vitest": "^3.1.1"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@memberjunction/action-runtime": "6.2.0-edge.
|
|
20
|
-
"@memberjunction/actions-base": "6.2.0-edge.
|
|
21
|
-
"@memberjunction/ai": "6.2.0-edge.
|
|
22
|
-
"@memberjunction/code-execution": "6.2.0-edge.
|
|
23
|
-
"@memberjunction/core": "6.2.0-edge.
|
|
24
|
-
"@memberjunction/core-entities": "6.2.0-edge.
|
|
25
|
-
"@memberjunction/doc-utils": "6.2.0-edge.
|
|
26
|
-
"@memberjunction/global": "6.2.0-edge.
|
|
19
|
+
"@memberjunction/action-runtime": "6.2.0-edge.5",
|
|
20
|
+
"@memberjunction/actions-base": "6.2.0-edge.5",
|
|
21
|
+
"@memberjunction/ai": "6.2.0-edge.5",
|
|
22
|
+
"@memberjunction/code-execution": "6.2.0-edge.5",
|
|
23
|
+
"@memberjunction/core": "6.2.0-edge.5",
|
|
24
|
+
"@memberjunction/core-entities": "6.2.0-edge.5",
|
|
25
|
+
"@memberjunction/doc-utils": "6.2.0-edge.5",
|
|
26
|
+
"@memberjunction/global": "6.2.0-edge.5"
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|