@memberjunction/actions-base 5.29.0 → 5.30.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/dist/ActionEngine-Base.d.ts +14 -0
- package/dist/ActionEngine-Base.d.ts.map +1 -1
- package/dist/ActionEngine-Base.js.map +1 -1
- package/dist/RuntimeActionBridgeBuilder.d.ts +66 -0
- package/dist/RuntimeActionBridgeBuilder.d.ts.map +1 -0
- package/dist/RuntimeActionBridgeBuilder.js +31 -0
- package/dist/RuntimeActionBridgeBuilder.js.map +1 -0
- package/dist/RuntimeActionConfigurationSchema.d.ts +221 -0
- package/dist/RuntimeActionConfigurationSchema.d.ts.map +1 -0
- package/dist/RuntimeActionConfigurationSchema.js +96 -0
- package/dist/RuntimeActionConfigurationSchema.js.map +1 -0
- package/dist/__tests__/ActionEngine-Base.test.js +31 -3
- package/dist/__tests__/ActionEngine-Base.test.js.map +1 -1
- package/dist/__tests__/RuntimeActionConfigurationSchema.test.d.ts +2 -0
- package/dist/__tests__/RuntimeActionConfigurationSchema.test.d.ts.map +1 -0
- package/dist/__tests__/RuntimeActionConfigurationSchema.test.js +242 -0
- package/dist/__tests__/RuntimeActionConfigurationSchema.test.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +8 -5
|
@@ -219,6 +219,20 @@ export declare class RunActionParams<TContext = any> {
|
|
|
219
219
|
* as context may be passed through multiple execution layers.
|
|
220
220
|
*/
|
|
221
221
|
Context?: TContext;
|
|
222
|
+
/**
|
|
223
|
+
* Optional AbortSignal that is aborted when the action exceeds its wall-clock
|
|
224
|
+
* time budget (set via `Action.MaxExecutionTimeMS` or the engine default). Set
|
|
225
|
+
* automatically by `ActionEngine.RunAction()` — callers should not populate it
|
|
226
|
+
* directly. Long-running action implementations should poll this signal
|
|
227
|
+
* (e.g. between batches, between retries, inside tight loops) and return
|
|
228
|
+
* early with `ResultCode = 'TIMEOUT'` when it fires, so the enforcement is
|
|
229
|
+
* cooperative rather than ending the Node process.
|
|
230
|
+
*
|
|
231
|
+
* The engine also records the timeout on `AbortSignal.reason` as a string
|
|
232
|
+
* describing which side (action vs engine default) supplied the budget,
|
|
233
|
+
* which makes timeout-origin debugging straightforward.
|
|
234
|
+
*/
|
|
235
|
+
AbortSignal?: AbortSignal;
|
|
222
236
|
}
|
|
223
237
|
/**
|
|
224
238
|
* Base class for Action metadata.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine-Base.d.ts","sourceRoot":"","sources":["../src/ActionEngine-Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAqC,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC/M,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,qBAAa,aAAa;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,aAAa;IACtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,WAAW;IACxB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,IAAI,EAAE,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;IAC9D;;;;;;OAMG;IACH,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACpD;AAED;;GAEG;AAEH,qBAAa,kBAAkB;IAC5B;;OAEG;IACI,OAAO,EAAE,OAAO,CAAC;IAExB;;OAEG;IACI,UAAU,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACI,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAE9B;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACI,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,qBAAa,YAAY;IACtB;;OAEG;IACI,SAAS,EAAE,eAAe,CAAC;IAElC;;OAEG;IACI,OAAO,EAAE,OAAO,CAAC;IAExB;;OAEG;IACI,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAEzC;;OAEG;IACI,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IAE7C;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACI,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAE9B;;;OAGG;IACI,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,qBAAa,WAAW;IACrB;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC;IACpB;;OAEG;IACI,KAAK,EAAE,GAAG,CAAC;IAClB;;OAEG;IACI,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,eAAe,CAAC,QAAQ,GAAG,GAAG;IACxC;;OAEG;IACI,MAAM,EAAE,cAAc,CAAC;IAE9B;;OAEG;IACI,WAAW,EAAE,QAAQ,CAAC;IAC7B;;OAEG;IACI,aAAa,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACI,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACvC;;OAEG;IACI,MAAM,EAAE,WAAW,EAAE,CAAC;IAE7B;;;;;;;;;;;;;;;;;OAiBG;IACI,OAAO,CAAC,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"ActionEngine-Base.d.ts","sourceRoot":"","sources":["../src/ActionEngine-Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAqC,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC/M,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,qBAAa,aAAa;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,aAAa;IACtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,WAAW;IACxB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,IAAI,EAAE,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;IAC9D;;;;;;OAMG;IACH,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACpD;AAED;;GAEG;AAEH,qBAAa,kBAAkB;IAC5B;;OAEG;IACI,OAAO,EAAE,OAAO,CAAC;IAExB;;OAEG;IACI,UAAU,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACI,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAE9B;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACI,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,qBAAa,YAAY;IACtB;;OAEG;IACI,SAAS,EAAE,eAAe,CAAC;IAElC;;OAEG;IACI,OAAO,EAAE,OAAO,CAAC;IAExB;;OAEG;IACI,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAEzC;;OAEG;IACI,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IAE7C;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACI,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAE9B;;;OAGG;IACI,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,qBAAa,WAAW;IACrB;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC;IACpB;;OAEG;IACI,KAAK,EAAE,GAAG,CAAC;IAClB;;OAEG;IACI,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,eAAe,CAAC,QAAQ,GAAG,GAAG;IACxC;;OAEG;IACI,MAAM,EAAE,cAAc,CAAC;IAE9B;;OAEG;IACI,WAAW,EAAE,QAAQ,CAAC;IAC7B;;OAEG;IACI,aAAa,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACI,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACvC;;OAEG;IACI,MAAM,EAAE,WAAW,EAAE,CAAC;IAE7B;;;;;;;;;;;;;;;;;OAiBG;IACI,OAAO,CAAC,EAAE,QAAQ,CAAC;IAE1B;;;;;;;;;;;;OAYG;IACI,WAAW,CAAC,EAAE,WAAW,CAAC;CACnC;AAGD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU,CAAC,gBAAgB,CAAC;IAC/D,OAAO,CAAC,oBAAoB,CAA0C;IAEtE;;OAEG;IACH,WAAkB,QAAQ,IAAI,gBAAgB,CAE7C;IAEA,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,gBAAgB,CAA0B;IAEnD;;;;;OAKG;IACU,MAAM,CAAC,YAAY,GAAE,OAAe,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCvH;;;OAGG;cACsB,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBlG,IAAW,OAAO,IAAI,sBAAsB,EAAE,CAE7C;IACD,IAAW,gBAAgB,IAAI,sBAAsB,EAAE,CAEtD;IACD,IAAW,YAAY,IAAI,mBAAmB,EAAE,CAE/C;IACD,IAAW,aAAa,IAAI,oBAAoB,EAAE,CAEjD;IACD,IAAW,iBAAiB,IAAI,wBAAwB,EAAE,CAEzD;IACD,IAAW,eAAe,IAAI,qBAAqB,EAAE,CAEpD;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,sBAAsB,EAAE,CAEjD;IACD;;OAEG;IACH,IAAW,cAAc,IAAI,sBAAsB,EAAE,CAEpD;IAEF;;OAEG;IACH,IAAW,yBAAyB,IAAI,MAAM,CAE7C;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO;IAmB/E;;;;OAIG;IACI,YAAY,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO;IAO5D;;;;OAIG;IACI,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAOxD;;;;OAIG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAO9E;;;;OAIG;cACa,cAAc,CAAC,QAAQ,GAAG,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAGrG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine-Base.js","sourceRoot":"","sources":["../src/ActionEngine-Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA+B,OAAO,EAA4B,MAAM,sBAAsB,CAAC;AAKlH,MAAM,OAAO,aAAa;CAGzB;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;CAqBzB;AA8CD;;GAEG;AAEH,MAAM,OAAO,kBAAkB;CA4B9B;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;CAoCxB;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;CAavB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,eAAe;
|
|
1
|
+
{"version":3,"file":"ActionEngine-Base.js","sourceRoot":"","sources":["../src/ActionEngine-Base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { UserInfo } from '@memberjunction/core';
|
|
2
|
+
import { BaseSingleton } from '@memberjunction/global';
|
|
3
|
+
import { BridgeHandlerMap } from '@memberjunction/code-execution';
|
|
4
|
+
import { MJActionEntity, MJActionEntity_IRuntimeActionConfiguration } from '@memberjunction/core-entities';
|
|
5
|
+
/**
|
|
6
|
+
* Shared context passed to `RuntimeActionBridgeBuilder.BuildHandlers` at
|
|
7
|
+
* the point ActionEngine decides to run a `Type='Runtime'` action. Everything
|
|
8
|
+
* the builder needs to produce a per-execution handler map lives here.
|
|
9
|
+
*
|
|
10
|
+
* `config` has already been Zod-validated by ActionEngine before the builder
|
|
11
|
+
* is asked to build handlers — implementations can trust the shape.
|
|
12
|
+
*/
|
|
13
|
+
export interface BridgeContext {
|
|
14
|
+
/** The MJ Action record being executed. */
|
|
15
|
+
action: MJActionEntity;
|
|
16
|
+
/** Validated runtime configuration parsed from `Action.RuntimeActionConfiguration`. */
|
|
17
|
+
config: MJActionEntity_IRuntimeActionConfiguration;
|
|
18
|
+
/** The invoking user context — used for permission checks inside handlers. */
|
|
19
|
+
contextUser: UserInfo;
|
|
20
|
+
/** Optional cancellation signal propagated from the caller. */
|
|
21
|
+
abortSignal?: AbortSignal;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Abstract contract for building the bridge handler map that
|
|
25
|
+
* `CodeExecutionService` exposes to sandboxed Runtime-action code, plus the
|
|
26
|
+
* JavaScript preamble injected at the top of the user code to define the
|
|
27
|
+
* `utilities.*` namespace.
|
|
28
|
+
*
|
|
29
|
+
* ## Why this is abstract
|
|
30
|
+
*
|
|
31
|
+
* The concrete bridge needs to call into `@memberjunction/ai-agents`,
|
|
32
|
+
* `@memberjunction/ai-prompts`, and `@memberjunction/aiengine` — packages
|
|
33
|
+
* that already depend on `@memberjunction/actions`. Putting the concrete
|
|
34
|
+
* implementation directly inside `@memberjunction/actions` creates a cycle.
|
|
35
|
+
*
|
|
36
|
+
* Instead, the actions package takes a runtime dependency on this abstract
|
|
37
|
+
* via `ClassFactory.CreateInstance`, and a top-of-stack package
|
|
38
|
+
* (`@memberjunction/action-runtime-host`) registers a concrete subclass via
|
|
39
|
+
* `@RegisterClass`. External consumers can register their own subclass with
|
|
40
|
+
* higher auto-priority to override the default bridge — for example, to add
|
|
41
|
+
* custom namespaces, restrict the surface area, or swap in a mock for tests.
|
|
42
|
+
*
|
|
43
|
+
* If no subclass is registered, ActionEngine falls through to pure-compute
|
|
44
|
+
* mode (no bridge available, user code sees only `input`/`output`) — a
|
|
45
|
+
* graceful degradation, not an error.
|
|
46
|
+
*/
|
|
47
|
+
export declare abstract class RuntimeActionBridgeBuilder extends BaseSingleton<RuntimeActionBridgeBuilder> {
|
|
48
|
+
protected constructor();
|
|
49
|
+
/**
|
|
50
|
+
* Build the per-execution handler map exposed to sandboxed user code via
|
|
51
|
+
* `__bridgeCall(name, args)`. Each handler runs in the host process and
|
|
52
|
+
* is responsible for its own authorization checks against `ctx.config`
|
|
53
|
+
* (the permission allowlists in `RuntimeActionConfiguration.permissions`).
|
|
54
|
+
*/
|
|
55
|
+
abstract BuildHandlers(ctx: BridgeContext): BridgeHandlerMap;
|
|
56
|
+
/**
|
|
57
|
+
* Returns the JavaScript preamble that `ActionEngine` prepends to the
|
|
58
|
+
* user's Runtime action code. The preamble defines the `utilities.*`
|
|
59
|
+
* namespace object whose methods proxy through `__bridgeCall` to the
|
|
60
|
+
* handlers returned by `BuildHandlers`. Preamble and handler map MUST
|
|
61
|
+
* stay in sync — a `utilities.foo.bar(x)` call requires a
|
|
62
|
+
* `'foo.bar'` handler to be registered.
|
|
63
|
+
*/
|
|
64
|
+
abstract GetPreamble(): string;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=RuntimeActionBridgeBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeActionBridgeBuilder.d.ts","sourceRoot":"","sources":["../src/RuntimeActionBridgeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,0CAA0C,EAAE,MAAM,+BAA+B,CAAC;AAE3G;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC1B,2CAA2C;IAC3C,MAAM,EAAE,cAAc,CAAC;IACvB,uFAAuF;IACvF,MAAM,EAAE,0CAA0C,CAAC;IACnD,8EAA8E;IAC9E,WAAW,EAAE,QAAQ,CAAC;IACtB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8BAAsB,0BAA2B,SAAQ,aAAa,CAAC,0BAA0B,CAAC;IAC9F,SAAS;IAWT;;;;;OAKG;aACa,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB;IAEnE;;;;;;;OAOG;aACa,WAAW,IAAI,MAAM;CACxC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BaseSingleton } from '@memberjunction/global';
|
|
2
|
+
/**
|
|
3
|
+
* Abstract contract for building the bridge handler map that
|
|
4
|
+
* `CodeExecutionService` exposes to sandboxed Runtime-action code, plus the
|
|
5
|
+
* JavaScript preamble injected at the top of the user code to define the
|
|
6
|
+
* `utilities.*` namespace.
|
|
7
|
+
*
|
|
8
|
+
* ## Why this is abstract
|
|
9
|
+
*
|
|
10
|
+
* The concrete bridge needs to call into `@memberjunction/ai-agents`,
|
|
11
|
+
* `@memberjunction/ai-prompts`, and `@memberjunction/aiengine` — packages
|
|
12
|
+
* that already depend on `@memberjunction/actions`. Putting the concrete
|
|
13
|
+
* implementation directly inside `@memberjunction/actions` creates a cycle.
|
|
14
|
+
*
|
|
15
|
+
* Instead, the actions package takes a runtime dependency on this abstract
|
|
16
|
+
* via `ClassFactory.CreateInstance`, and a top-of-stack package
|
|
17
|
+
* (`@memberjunction/action-runtime-host`) registers a concrete subclass via
|
|
18
|
+
* `@RegisterClass`. External consumers can register their own subclass with
|
|
19
|
+
* higher auto-priority to override the default bridge — for example, to add
|
|
20
|
+
* custom namespaces, restrict the surface area, or swap in a mock for tests.
|
|
21
|
+
*
|
|
22
|
+
* If no subclass is registered, ActionEngine falls through to pure-compute
|
|
23
|
+
* mode (no bridge available, user code sees only `input`/`output`) — a
|
|
24
|
+
* graceful degradation, not an error.
|
|
25
|
+
*/
|
|
26
|
+
export class RuntimeActionBridgeBuilder extends BaseSingleton {
|
|
27
|
+
constructor() {
|
|
28
|
+
super();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=RuntimeActionBridgeBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeActionBridgeBuilder.js","sourceRoot":"","sources":["../src/RuntimeActionBridgeBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAuBvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAgB,0BAA2B,SAAQ,aAAyC;IAC9F;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;CA0BJ"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime validation for Action.RuntimeActionConfiguration (Action.Type='Runtime').
|
|
3
|
+
*
|
|
4
|
+
* The canonical TypeScript shape is declared via the JSONType metadata system
|
|
5
|
+
* and lives at `metadata/entities/JSONType-interfaces/IRuntimeActionConfiguration.ts`.
|
|
6
|
+
* CodeGen inlines it into `@memberjunction/core-entities` as
|
|
7
|
+
* `MJActionEntity_IRuntimeActionConfiguration`. This file adds runtime Zod
|
|
8
|
+
* validation because JSONType itself does not enforce shape at Save() time,
|
|
9
|
+
* and the Runtime Action config drives sandbox security scopes — a malformed
|
|
10
|
+
* blob is a security concern, not just a DX one.
|
|
11
|
+
*
|
|
12
|
+
* The schemas use `.strict()` so unknown top-level or nested keys are rejected
|
|
13
|
+
* at parse time — this prevents silent drift when the config is authored by
|
|
14
|
+
* hand or by an older client that doesn't know about a new required field.
|
|
15
|
+
*
|
|
16
|
+
* ## Drift detection
|
|
17
|
+
*
|
|
18
|
+
* This repo currently builds without `strictNullChecks`, which collapses the
|
|
19
|
+
* required/optional distinction in Zod's inferred types enough that a pure
|
|
20
|
+
* compile-time type-equivalence assertion against
|
|
21
|
+
* `MJActionEntity_IRuntimeActionConfiguration` is unreliable (false
|
|
22
|
+
* positives that don't reflect real semantic mismatch).
|
|
23
|
+
*
|
|
24
|
+
* Drift is therefore caught by the Vitest suite in
|
|
25
|
+
* `__tests__/RuntimeActionConfigurationSchema.test.ts`, which:
|
|
26
|
+
* 1. Parses a canonical fully-populated instance typed as
|
|
27
|
+
* `MJActionEntity_IRuntimeActionConfiguration` — this asserts that every
|
|
28
|
+
* interface field is accepted by the Zod schema.
|
|
29
|
+
* 2. Rejects known bad shapes (missing required fields, unknown keys,
|
|
30
|
+
* wrong types) — this asserts that the strictness is preserved.
|
|
31
|
+
* 3. Treats the Zod-inferred type and the JSONType interface as mutual
|
|
32
|
+
* assignment targets in a dedicated pair of `satisfies` clauses, so any
|
|
33
|
+
* structural drift is surfaced as a test-level TS error.
|
|
34
|
+
*
|
|
35
|
+
* When adding or removing fields here, mirror the change in the JSONType
|
|
36
|
+
* source file and update the canonical test fixture — the tests will tell
|
|
37
|
+
* you if you miss a spot.
|
|
38
|
+
*/
|
|
39
|
+
import { z } from 'zod';
|
|
40
|
+
import type { MJActionEntity_IRuntimeActionConfiguration } from '@memberjunction/core-entities';
|
|
41
|
+
/**
|
|
42
|
+
* Strict validator for the full RuntimeActionConfiguration blob. Use
|
|
43
|
+
* `safeParse()` at Runtime-action authoring time (inside ActionSmith) and
|
|
44
|
+
* again in `ActionEngine.runRuntimeAction()` before sandbox dispatch.
|
|
45
|
+
*/
|
|
46
|
+
export declare const RuntimeActionConfigurationSchema: z.ZodObject<{
|
|
47
|
+
permissions: z.ZodObject<{
|
|
48
|
+
allowedActions: z.ZodArray<z.ZodObject<{
|
|
49
|
+
id: z.ZodString;
|
|
50
|
+
name: z.ZodString;
|
|
51
|
+
}, "strict", z.ZodTypeAny, {
|
|
52
|
+
id?: string;
|
|
53
|
+
name?: string;
|
|
54
|
+
}, {
|
|
55
|
+
id?: string;
|
|
56
|
+
name?: string;
|
|
57
|
+
}>, "many">;
|
|
58
|
+
allowedAgents: z.ZodArray<z.ZodObject<{
|
|
59
|
+
id: z.ZodString;
|
|
60
|
+
name: z.ZodString;
|
|
61
|
+
}, "strict", z.ZodTypeAny, {
|
|
62
|
+
id?: string;
|
|
63
|
+
name?: string;
|
|
64
|
+
}, {
|
|
65
|
+
id?: string;
|
|
66
|
+
name?: string;
|
|
67
|
+
}>, "many">;
|
|
68
|
+
allowedEntities: z.ZodArray<z.ZodObject<{
|
|
69
|
+
id: z.ZodString;
|
|
70
|
+
name: z.ZodString;
|
|
71
|
+
}, "strict", z.ZodTypeAny, {
|
|
72
|
+
id?: string;
|
|
73
|
+
name?: string;
|
|
74
|
+
}, {
|
|
75
|
+
id?: string;
|
|
76
|
+
name?: string;
|
|
77
|
+
}>, "many">;
|
|
78
|
+
allowAnyEntity: z.ZodOptional<z.ZodBoolean>;
|
|
79
|
+
allowAnyAction: z.ZodOptional<z.ZodBoolean>;
|
|
80
|
+
allowAnyAgent: z.ZodOptional<z.ZodBoolean>;
|
|
81
|
+
}, "strict", z.ZodTypeAny, {
|
|
82
|
+
allowedActions?: {
|
|
83
|
+
id?: string;
|
|
84
|
+
name?: string;
|
|
85
|
+
}[];
|
|
86
|
+
allowedAgents?: {
|
|
87
|
+
id?: string;
|
|
88
|
+
name?: string;
|
|
89
|
+
}[];
|
|
90
|
+
allowedEntities?: {
|
|
91
|
+
id?: string;
|
|
92
|
+
name?: string;
|
|
93
|
+
}[];
|
|
94
|
+
allowAnyEntity?: boolean;
|
|
95
|
+
allowAnyAction?: boolean;
|
|
96
|
+
allowAnyAgent?: boolean;
|
|
97
|
+
}, {
|
|
98
|
+
allowedActions?: {
|
|
99
|
+
id?: string;
|
|
100
|
+
name?: string;
|
|
101
|
+
}[];
|
|
102
|
+
allowedAgents?: {
|
|
103
|
+
id?: string;
|
|
104
|
+
name?: string;
|
|
105
|
+
}[];
|
|
106
|
+
allowedEntities?: {
|
|
107
|
+
id?: string;
|
|
108
|
+
name?: string;
|
|
109
|
+
}[];
|
|
110
|
+
allowAnyEntity?: boolean;
|
|
111
|
+
allowAnyAction?: boolean;
|
|
112
|
+
allowAnyAgent?: boolean;
|
|
113
|
+
}>;
|
|
114
|
+
limits: z.ZodOptional<z.ZodObject<{
|
|
115
|
+
maxMemoryMB: z.ZodOptional<z.ZodNumber>;
|
|
116
|
+
maxBridgeCalls: z.ZodOptional<z.ZodNumber>;
|
|
117
|
+
}, "strict", z.ZodTypeAny, {
|
|
118
|
+
maxMemoryMB?: number;
|
|
119
|
+
maxBridgeCalls?: number;
|
|
120
|
+
}, {
|
|
121
|
+
maxMemoryMB?: number;
|
|
122
|
+
maxBridgeCalls?: number;
|
|
123
|
+
}>>;
|
|
124
|
+
sandbox: z.ZodOptional<z.ZodObject<{
|
|
125
|
+
additionalLibraries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
126
|
+
name: z.ZodString;
|
|
127
|
+
version: z.ZodOptional<z.ZodString>;
|
|
128
|
+
}, "strict", z.ZodTypeAny, {
|
|
129
|
+
name?: string;
|
|
130
|
+
version?: string;
|
|
131
|
+
}, {
|
|
132
|
+
name?: string;
|
|
133
|
+
version?: string;
|
|
134
|
+
}>, "many">>;
|
|
135
|
+
debugMode: z.ZodOptional<z.ZodBoolean>;
|
|
136
|
+
}, "strict", z.ZodTypeAny, {
|
|
137
|
+
additionalLibraries?: {
|
|
138
|
+
name?: string;
|
|
139
|
+
version?: string;
|
|
140
|
+
}[];
|
|
141
|
+
debugMode?: boolean;
|
|
142
|
+
}, {
|
|
143
|
+
additionalLibraries?: {
|
|
144
|
+
name?: string;
|
|
145
|
+
version?: string;
|
|
146
|
+
}[];
|
|
147
|
+
debugMode?: boolean;
|
|
148
|
+
}>>;
|
|
149
|
+
version: z.ZodOptional<z.ZodString>;
|
|
150
|
+
previousVersionId: z.ZodOptional<z.ZodString>;
|
|
151
|
+
}, "strict", z.ZodTypeAny, {
|
|
152
|
+
version?: string;
|
|
153
|
+
permissions?: {
|
|
154
|
+
allowedActions?: {
|
|
155
|
+
id?: string;
|
|
156
|
+
name?: string;
|
|
157
|
+
}[];
|
|
158
|
+
allowedAgents?: {
|
|
159
|
+
id?: string;
|
|
160
|
+
name?: string;
|
|
161
|
+
}[];
|
|
162
|
+
allowedEntities?: {
|
|
163
|
+
id?: string;
|
|
164
|
+
name?: string;
|
|
165
|
+
}[];
|
|
166
|
+
allowAnyEntity?: boolean;
|
|
167
|
+
allowAnyAction?: boolean;
|
|
168
|
+
allowAnyAgent?: boolean;
|
|
169
|
+
};
|
|
170
|
+
limits?: {
|
|
171
|
+
maxMemoryMB?: number;
|
|
172
|
+
maxBridgeCalls?: number;
|
|
173
|
+
};
|
|
174
|
+
sandbox?: {
|
|
175
|
+
additionalLibraries?: {
|
|
176
|
+
name?: string;
|
|
177
|
+
version?: string;
|
|
178
|
+
}[];
|
|
179
|
+
debugMode?: boolean;
|
|
180
|
+
};
|
|
181
|
+
previousVersionId?: string;
|
|
182
|
+
}, {
|
|
183
|
+
version?: string;
|
|
184
|
+
permissions?: {
|
|
185
|
+
allowedActions?: {
|
|
186
|
+
id?: string;
|
|
187
|
+
name?: string;
|
|
188
|
+
}[];
|
|
189
|
+
allowedAgents?: {
|
|
190
|
+
id?: string;
|
|
191
|
+
name?: string;
|
|
192
|
+
}[];
|
|
193
|
+
allowedEntities?: {
|
|
194
|
+
id?: string;
|
|
195
|
+
name?: string;
|
|
196
|
+
}[];
|
|
197
|
+
allowAnyEntity?: boolean;
|
|
198
|
+
allowAnyAction?: boolean;
|
|
199
|
+
allowAnyAgent?: boolean;
|
|
200
|
+
};
|
|
201
|
+
limits?: {
|
|
202
|
+
maxMemoryMB?: number;
|
|
203
|
+
maxBridgeCalls?: number;
|
|
204
|
+
};
|
|
205
|
+
sandbox?: {
|
|
206
|
+
additionalLibraries?: {
|
|
207
|
+
name?: string;
|
|
208
|
+
version?: string;
|
|
209
|
+
}[];
|
|
210
|
+
debugMode?: boolean;
|
|
211
|
+
};
|
|
212
|
+
previousVersionId?: string;
|
|
213
|
+
}>;
|
|
214
|
+
/**
|
|
215
|
+
* The canonical RuntimeActionConfiguration type. Sourced from the JSONType
|
|
216
|
+
* interface in `@memberjunction/core-entities` so there is exactly one
|
|
217
|
+
* source of truth for the shape. Re-exported here so consumers can pull
|
|
218
|
+
* both the validator and the type from a single import.
|
|
219
|
+
*/
|
|
220
|
+
export type RuntimeActionConfiguration = MJActionEntity_IRuntimeActionConfiguration;
|
|
221
|
+
//# sourceMappingURL=RuntimeActionConfigurationSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeActionConfigurationSchema.d.ts","sourceRoot":"","sources":["../src/RuntimeActionConfigurationSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,+BAA+B,CAAC;AAiDhG;;;;GAIG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQhC,CAAC;AAEd;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,0CAA0C,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime validation for Action.RuntimeActionConfiguration (Action.Type='Runtime').
|
|
3
|
+
*
|
|
4
|
+
* The canonical TypeScript shape is declared via the JSONType metadata system
|
|
5
|
+
* and lives at `metadata/entities/JSONType-interfaces/IRuntimeActionConfiguration.ts`.
|
|
6
|
+
* CodeGen inlines it into `@memberjunction/core-entities` as
|
|
7
|
+
* `MJActionEntity_IRuntimeActionConfiguration`. This file adds runtime Zod
|
|
8
|
+
* validation because JSONType itself does not enforce shape at Save() time,
|
|
9
|
+
* and the Runtime Action config drives sandbox security scopes — a malformed
|
|
10
|
+
* blob is a security concern, not just a DX one.
|
|
11
|
+
*
|
|
12
|
+
* The schemas use `.strict()` so unknown top-level or nested keys are rejected
|
|
13
|
+
* at parse time — this prevents silent drift when the config is authored by
|
|
14
|
+
* hand or by an older client that doesn't know about a new required field.
|
|
15
|
+
*
|
|
16
|
+
* ## Drift detection
|
|
17
|
+
*
|
|
18
|
+
* This repo currently builds without `strictNullChecks`, which collapses the
|
|
19
|
+
* required/optional distinction in Zod's inferred types enough that a pure
|
|
20
|
+
* compile-time type-equivalence assertion against
|
|
21
|
+
* `MJActionEntity_IRuntimeActionConfiguration` is unreliable (false
|
|
22
|
+
* positives that don't reflect real semantic mismatch).
|
|
23
|
+
*
|
|
24
|
+
* Drift is therefore caught by the Vitest suite in
|
|
25
|
+
* `__tests__/RuntimeActionConfigurationSchema.test.ts`, which:
|
|
26
|
+
* 1. Parses a canonical fully-populated instance typed as
|
|
27
|
+
* `MJActionEntity_IRuntimeActionConfiguration` — this asserts that every
|
|
28
|
+
* interface field is accepted by the Zod schema.
|
|
29
|
+
* 2. Rejects known bad shapes (missing required fields, unknown keys,
|
|
30
|
+
* wrong types) — this asserts that the strictness is preserved.
|
|
31
|
+
* 3. Treats the Zod-inferred type and the JSONType interface as mutual
|
|
32
|
+
* assignment targets in a dedicated pair of `satisfies` clauses, so any
|
|
33
|
+
* structural drift is surfaced as a test-level TS error.
|
|
34
|
+
*
|
|
35
|
+
* When adding or removing fields here, mirror the change in the JSONType
|
|
36
|
+
* source file and update the canonical test fixture — the tests will tell
|
|
37
|
+
* you if you miss a spot.
|
|
38
|
+
*/
|
|
39
|
+
import { z } from 'zod';
|
|
40
|
+
/** id + human-readable name pair for permission scope entries. */
|
|
41
|
+
const RuntimeActionReferenceSchema = z
|
|
42
|
+
.object({
|
|
43
|
+
id: z.string().uuid(),
|
|
44
|
+
name: z.string().min(1)
|
|
45
|
+
})
|
|
46
|
+
.strict();
|
|
47
|
+
/** Reference to an approved sandbox library. */
|
|
48
|
+
const RuntimeLibraryReferenceSchema = z
|
|
49
|
+
.object({
|
|
50
|
+
name: z.string().min(1),
|
|
51
|
+
version: z.string().optional()
|
|
52
|
+
})
|
|
53
|
+
.strict();
|
|
54
|
+
const RuntimeActionPermissionsSchema = z
|
|
55
|
+
.object({
|
|
56
|
+
allowedActions: z.array(RuntimeActionReferenceSchema),
|
|
57
|
+
allowedAgents: z.array(RuntimeActionReferenceSchema),
|
|
58
|
+
allowedEntities: z.array(RuntimeActionReferenceSchema),
|
|
59
|
+
// Escape hatches for framework-authored utility actions. See the
|
|
60
|
+
// JSONType interface file for full docs + warnings. Approval UI
|
|
61
|
+
// flags any of these when set.
|
|
62
|
+
allowAnyEntity: z.boolean().optional(),
|
|
63
|
+
allowAnyAction: z.boolean().optional(),
|
|
64
|
+
allowAnyAgent: z.boolean().optional()
|
|
65
|
+
})
|
|
66
|
+
.strict();
|
|
67
|
+
const RuntimeActionLimitsSchema = z
|
|
68
|
+
.object({
|
|
69
|
+
// maxMemoryMB must be positive — zero memory means nothing can execute.
|
|
70
|
+
maxMemoryMB: z.number().int().positive().optional(),
|
|
71
|
+
// maxBridgeCalls=0 is legitimate ("pure compute, no bridge access
|
|
72
|
+
// allowed") so we use .nonnegative() rather than .positive().
|
|
73
|
+
maxBridgeCalls: z.number().int().nonnegative().optional()
|
|
74
|
+
})
|
|
75
|
+
.strict();
|
|
76
|
+
const RuntimeActionSandboxOptionsSchema = z
|
|
77
|
+
.object({
|
|
78
|
+
additionalLibraries: z.array(RuntimeLibraryReferenceSchema).optional(),
|
|
79
|
+
debugMode: z.boolean().optional()
|
|
80
|
+
})
|
|
81
|
+
.strict();
|
|
82
|
+
/**
|
|
83
|
+
* Strict validator for the full RuntimeActionConfiguration blob. Use
|
|
84
|
+
* `safeParse()` at Runtime-action authoring time (inside ActionSmith) and
|
|
85
|
+
* again in `ActionEngine.runRuntimeAction()` before sandbox dispatch.
|
|
86
|
+
*/
|
|
87
|
+
export const RuntimeActionConfigurationSchema = z
|
|
88
|
+
.object({
|
|
89
|
+
permissions: RuntimeActionPermissionsSchema,
|
|
90
|
+
limits: RuntimeActionLimitsSchema.optional(),
|
|
91
|
+
sandbox: RuntimeActionSandboxOptionsSchema.optional(),
|
|
92
|
+
version: z.string().optional(),
|
|
93
|
+
previousVersionId: z.string().uuid().optional()
|
|
94
|
+
})
|
|
95
|
+
.strict();
|
|
96
|
+
//# sourceMappingURL=RuntimeActionConfigurationSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeActionConfigurationSchema.js","sourceRoot":"","sources":["../src/RuntimeActionConfigurationSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,kEAAkE;AAClE,MAAM,4BAA4B,GAAG,CAAC;KACjC,MAAM,CAAC;IACJ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC;KACD,MAAM,EAAE,CAAC;AAEd,gDAAgD;AAChD,MAAM,6BAA6B,GAAG,CAAC;KAClC,MAAM,CAAC;IACJ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,MAAM,EAAE,CAAC;AAEd,MAAM,8BAA8B,GAAG,CAAC;KACnC,MAAM,CAAC;IACJ,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC;IACrD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC;IACpD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC;IACtD,iEAAiE;IACjE,gEAAgE;IAChE,+BAA+B;IAC/B,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,MAAM,EAAE,CAAC;AAEd,MAAM,yBAAyB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACJ,wEAAwE;IACxE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,kEAAkE;IAClE,8DAA8D;IAC9D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CAC5D,CAAC;KACD,MAAM,EAAE,CAAC;AAEd,MAAM,iCAAiC,GAAG,CAAC;KACtC,MAAM,CAAC;IACJ,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,QAAQ,EAAE;IACtE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,MAAM,EAAE,CAAC;AAEd;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC;KAC5C,MAAM,CAAC;IACJ,WAAW,EAAE,8BAA8B;IAC3C,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE;IAC5C,OAAO,EAAE,iCAAiC,CAAC,QAAQ,EAAE;IACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAC;KACD,MAAM,EAAE,CAAC"}
|
|
@@ -87,9 +87,37 @@ vi.mock('@memberjunction/core-entities', () => ({
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}));
|
|
90
|
-
vi.mock('@memberjunction/global', () =>
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
vi.mock('@memberjunction/global', () => {
|
|
91
|
+
// Minimal BaseSingleton stub. `RuntimeActionBridgeBuilder` (reached from
|
|
92
|
+
// `src/index.ts`) extends BaseSingleton; without it in the mock, the test
|
|
93
|
+
// suite fails to load at import time with "No BaseSingleton export".
|
|
94
|
+
class BaseSingleton {
|
|
95
|
+
static getInstance() {
|
|
96
|
+
const key = '__mjTestBaseSingleton_' + this.name;
|
|
97
|
+
const g = globalThis;
|
|
98
|
+
if (!g[key])
|
|
99
|
+
g[key] = new this();
|
|
100
|
+
return g[key];
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
BaseSingleton,
|
|
105
|
+
RegisterClass: () => (target) => target,
|
|
106
|
+
// Basic case-insensitive UUID equality — sufficient for tests that
|
|
107
|
+
// pass matching UUIDs. EntityActionEngineBase.GetActionsByEntityID
|
|
108
|
+
// uses this to compare the requested entity ID against cached rows.
|
|
109
|
+
UUIDsEqual: (a, b) => typeof a === 'string' && typeof b === 'string' && a.toLowerCase() === b.toLowerCase(),
|
|
110
|
+
NormalizeUUID: (value) => typeof value === 'string' ? value.toLowerCase() : String(value),
|
|
111
|
+
MJGlobal: {
|
|
112
|
+
Instance: {
|
|
113
|
+
ClassFactory: {
|
|
114
|
+
CreateInstance: () => undefined,
|
|
115
|
+
Register: () => undefined
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
});
|
|
93
121
|
import { ActionEngineBase, ActionResult, ActionResultSimple, ActionParam, ActionLibrary, GeneratedCode, RunActionParams, EntityActionEngineBase, EntityActionInvocationParams, EntityActionResult } from '../index.js';
|
|
94
122
|
describe('ActionParam', () => {
|
|
95
123
|
it('should create an ActionParam with correct properties', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine-Base.test.js","sourceRoot":"","sources":["../../src/__tests__/ActionEngine-Base.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionEngine-Base.test.js","sourceRoot":"","sources":["../../src/__tests__/ActionEngine-Base.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeActionConfigurationSchema.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/RuntimeActionConfigurationSchema.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { RuntimeActionConfigurationSchema } from '../RuntimeActionConfigurationSchema.js';
|
|
3
|
+
/**
|
|
4
|
+
* Drift detection + validation tests for RuntimeActionConfigurationSchema.
|
|
5
|
+
*
|
|
6
|
+
* The canonical shape lives in the JSONType interface generated into
|
|
7
|
+
* `@memberjunction/core-entities` as `MJActionEntity_IRuntimeActionConfiguration`.
|
|
8
|
+
* The Zod schema in the package must stay structurally aligned with that
|
|
9
|
+
* interface. Because the project builds without `strictNullChecks`, a pure
|
|
10
|
+
* compile-time type-equivalence assertion is unreliable — instead we use
|
|
11
|
+
* runtime round-trips against canonical fixtures plus a pair of `satisfies`
|
|
12
|
+
* clauses below to catch drift.
|
|
13
|
+
*
|
|
14
|
+
* When adding / removing / changing fields in the JSONType interface,
|
|
15
|
+
* update the `fullInstance` fixture here. If the types drift structurally,
|
|
16
|
+
* the `satisfies` clauses will fail to compile.
|
|
17
|
+
*/
|
|
18
|
+
describe('RuntimeActionConfigurationSchema', () => {
|
|
19
|
+
// Canonical fully-populated instance typed against the JSONType interface.
|
|
20
|
+
// The `satisfies` clause below also checks it against the Zod-inferred
|
|
21
|
+
// type — any drift between the two surfaces here at compile time.
|
|
22
|
+
const fullInstance = {
|
|
23
|
+
permissions: {
|
|
24
|
+
allowedActions: [
|
|
25
|
+
{ id: '11111111-1111-1111-1111-111111111111', name: 'Send Email' }
|
|
26
|
+
],
|
|
27
|
+
allowedAgents: [
|
|
28
|
+
{ id: '22222222-2222-2222-2222-222222222222', name: 'Risk Assessment Agent' }
|
|
29
|
+
],
|
|
30
|
+
allowedEntities: [
|
|
31
|
+
{ id: '33333333-3333-3333-3333-333333333333', name: 'Customers' }
|
|
32
|
+
],
|
|
33
|
+
// Wildcard escape hatches — exercising the "framework-authored
|
|
34
|
+
// utility action" path so the drift check covers these too.
|
|
35
|
+
allowAnyEntity: true,
|
|
36
|
+
allowAnyAction: false,
|
|
37
|
+
allowAnyAgent: false
|
|
38
|
+
},
|
|
39
|
+
limits: {
|
|
40
|
+
maxMemoryMB: 256,
|
|
41
|
+
maxBridgeCalls: 50
|
|
42
|
+
},
|
|
43
|
+
sandbox: {
|
|
44
|
+
additionalLibraries: [{ name: 'papaparse' }, { name: 'cheerio', version: '^1.0.0' }],
|
|
45
|
+
debugMode: false
|
|
46
|
+
},
|
|
47
|
+
version: '1.0.0',
|
|
48
|
+
previousVersionId: '44444444-4444-4444-4444-444444444444'
|
|
49
|
+
};
|
|
50
|
+
// Drift check: fullInstance must also be a valid Zod-inferred value.
|
|
51
|
+
// If this line fails to compile, the JSONType interface has a field
|
|
52
|
+
// that the Zod schema is missing (or has a field with an incompatible type).
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
54
|
+
const _driftCheckA = fullInstance;
|
|
55
|
+
// Drift check reverse direction: a Zod-inferred-shape literal must also
|
|
56
|
+
// satisfy the JSONType interface. If this fails to compile, the Zod
|
|
57
|
+
// schema has a required field that the JSONType interface is missing.
|
|
58
|
+
const zodShape = {
|
|
59
|
+
permissions: {
|
|
60
|
+
allowedActions: [],
|
|
61
|
+
allowedAgents: [],
|
|
62
|
+
allowedEntities: []
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
66
|
+
const _driftCheckB = zodShape;
|
|
67
|
+
// Minimal valid instance — only the required `permissions` branch.
|
|
68
|
+
const minimalInstance = {
|
|
69
|
+
permissions: {
|
|
70
|
+
allowedActions: [],
|
|
71
|
+
allowedAgents: [],
|
|
72
|
+
allowedEntities: []
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
describe('valid inputs', () => {
|
|
76
|
+
it('accepts a fully-populated configuration', () => {
|
|
77
|
+
const result = RuntimeActionConfigurationSchema.safeParse(fullInstance);
|
|
78
|
+
expect(result.success).toBe(true);
|
|
79
|
+
});
|
|
80
|
+
it('accepts the minimal configuration (only permissions)', () => {
|
|
81
|
+
const result = RuntimeActionConfigurationSchema.safeParse(minimalInstance);
|
|
82
|
+
expect(result.success).toBe(true);
|
|
83
|
+
});
|
|
84
|
+
it('accepts permissions with empty arrays', () => {
|
|
85
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
86
|
+
permissions: { allowedActions: [], allowedAgents: [], allowedEntities: [] }
|
|
87
|
+
});
|
|
88
|
+
expect(result.success).toBe(true);
|
|
89
|
+
});
|
|
90
|
+
it('accepts limits without memory (only bridge calls)', () => {
|
|
91
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
92
|
+
...minimalInstance,
|
|
93
|
+
limits: { maxBridgeCalls: 25 }
|
|
94
|
+
});
|
|
95
|
+
expect(result.success).toBe(true);
|
|
96
|
+
});
|
|
97
|
+
it('accepts sandbox with a library reference lacking a version', () => {
|
|
98
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
99
|
+
...minimalInstance,
|
|
100
|
+
sandbox: { additionalLibraries: [{ name: 'uuid' }] }
|
|
101
|
+
});
|
|
102
|
+
expect(result.success).toBe(true);
|
|
103
|
+
});
|
|
104
|
+
it('accepts wildcard permission flags (framework-authored escape hatch)', () => {
|
|
105
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
106
|
+
permissions: {
|
|
107
|
+
allowedActions: [],
|
|
108
|
+
allowedAgents: [],
|
|
109
|
+
allowedEntities: [],
|
|
110
|
+
allowAnyEntity: true,
|
|
111
|
+
allowAnyAction: true,
|
|
112
|
+
allowAnyAgent: true
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
expect(result.success).toBe(true);
|
|
116
|
+
});
|
|
117
|
+
it('round-trips with only some wildcards set', () => {
|
|
118
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
119
|
+
permissions: {
|
|
120
|
+
allowedActions: [],
|
|
121
|
+
allowedAgents: [],
|
|
122
|
+
allowedEntities: [],
|
|
123
|
+
allowAnyEntity: true
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
expect(result.success).toBe(true);
|
|
127
|
+
if (result.success) {
|
|
128
|
+
expect(result.data.permissions.allowAnyEntity).toBe(true);
|
|
129
|
+
expect(result.data.permissions.allowAnyAction).toBeUndefined();
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
describe('invalid inputs', () => {
|
|
134
|
+
it('rejects a configuration missing the top-level permissions key', () => {
|
|
135
|
+
const result = RuntimeActionConfigurationSchema.safeParse({ limits: { maxMemoryMB: 128 } });
|
|
136
|
+
expect(result.success).toBe(false);
|
|
137
|
+
});
|
|
138
|
+
it('rejects permissions missing allowedActions', () => {
|
|
139
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
140
|
+
permissions: { allowedAgents: [], allowedEntities: [] }
|
|
141
|
+
});
|
|
142
|
+
expect(result.success).toBe(false);
|
|
143
|
+
});
|
|
144
|
+
it('rejects a reference without an id', () => {
|
|
145
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
146
|
+
permissions: {
|
|
147
|
+
allowedActions: [{ name: 'Send Email' }],
|
|
148
|
+
allowedAgents: [],
|
|
149
|
+
allowedEntities: []
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
expect(result.success).toBe(false);
|
|
153
|
+
});
|
|
154
|
+
it('rejects a reference with a non-UUID id', () => {
|
|
155
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
156
|
+
permissions: {
|
|
157
|
+
allowedActions: [{ id: 'not-a-uuid', name: 'X' }],
|
|
158
|
+
allowedAgents: [],
|
|
159
|
+
allowedEntities: []
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
expect(result.success).toBe(false);
|
|
163
|
+
});
|
|
164
|
+
it('rejects a reference with an empty name', () => {
|
|
165
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
166
|
+
permissions: {
|
|
167
|
+
allowedActions: [{ id: '11111111-1111-1111-1111-111111111111', name: '' }],
|
|
168
|
+
allowedAgents: [],
|
|
169
|
+
allowedEntities: []
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
expect(result.success).toBe(false);
|
|
173
|
+
});
|
|
174
|
+
it('rejects unknown top-level keys (strict mode)', () => {
|
|
175
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
176
|
+
...minimalInstance,
|
|
177
|
+
somethingMade: 'up'
|
|
178
|
+
});
|
|
179
|
+
expect(result.success).toBe(false);
|
|
180
|
+
});
|
|
181
|
+
it('rejects unknown keys nested inside permissions (strict mode)', () => {
|
|
182
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
183
|
+
permissions: {
|
|
184
|
+
allowedActions: [],
|
|
185
|
+
allowedAgents: [],
|
|
186
|
+
allowedEntities: [],
|
|
187
|
+
rogueKey: true
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
expect(result.success).toBe(false);
|
|
191
|
+
});
|
|
192
|
+
it('rejects negative or zero memory limits', () => {
|
|
193
|
+
const zeroResult = RuntimeActionConfigurationSchema.safeParse({
|
|
194
|
+
...minimalInstance,
|
|
195
|
+
limits: { maxMemoryMB: 0 }
|
|
196
|
+
});
|
|
197
|
+
const negativeResult = RuntimeActionConfigurationSchema.safeParse({
|
|
198
|
+
...minimalInstance,
|
|
199
|
+
limits: { maxMemoryMB: -1 }
|
|
200
|
+
});
|
|
201
|
+
expect(zeroResult.success).toBe(false);
|
|
202
|
+
expect(negativeResult.success).toBe(false);
|
|
203
|
+
});
|
|
204
|
+
it('accepts maxBridgeCalls=0 (pure-compute action)', () => {
|
|
205
|
+
// 0 means "no bridge calls allowed". Pure-compute Runtime actions
|
|
206
|
+
// (e.g. data transforms, numeric utilities) legitimately set this.
|
|
207
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
208
|
+
...minimalInstance,
|
|
209
|
+
limits: { maxBridgeCalls: 0 }
|
|
210
|
+
});
|
|
211
|
+
expect(result.success).toBe(true);
|
|
212
|
+
});
|
|
213
|
+
it('rejects negative maxBridgeCalls', () => {
|
|
214
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
215
|
+
...minimalInstance,
|
|
216
|
+
limits: { maxBridgeCalls: -1 }
|
|
217
|
+
});
|
|
218
|
+
expect(result.success).toBe(false);
|
|
219
|
+
});
|
|
220
|
+
it('rejects non-integer memory limits', () => {
|
|
221
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
222
|
+
...minimalInstance,
|
|
223
|
+
limits: { maxMemoryMB: 128.5 }
|
|
224
|
+
});
|
|
225
|
+
expect(result.success).toBe(false);
|
|
226
|
+
});
|
|
227
|
+
it('rejects a non-UUID previousVersionId', () => {
|
|
228
|
+
const result = RuntimeActionConfigurationSchema.safeParse({
|
|
229
|
+
...minimalInstance,
|
|
230
|
+
previousVersionId: 'nope'
|
|
231
|
+
});
|
|
232
|
+
expect(result.success).toBe(false);
|
|
233
|
+
});
|
|
234
|
+
});
|
|
235
|
+
describe('round-trip', () => {
|
|
236
|
+
it('parses the full instance into a structurally identical object', () => {
|
|
237
|
+
const parsed = RuntimeActionConfigurationSchema.parse(fullInstance);
|
|
238
|
+
expect(parsed).toEqual(fullInstance);
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
//# sourceMappingURL=RuntimeActionConfigurationSchema.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeActionConfigurationSchema.test.js","sourceRoot":"","sources":["../../src/__tests__/RuntimeActionConfigurationSchema.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,4 +2,6 @@ export * from './ActionEngine-Base.js';
|
|
|
2
2
|
export * from './MJActionEntityExtended.js';
|
|
3
3
|
export * from './EntityActionEngine-Base.js';
|
|
4
4
|
export * from './MJEntityActionEntityExtended.js';
|
|
5
|
+
export * from './RuntimeActionConfigurationSchema.js';
|
|
6
|
+
export * from './RuntimeActionBridgeBuilder.js';
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,4 +2,6 @@ export * from './ActionEngine-Base.js';
|
|
|
2
2
|
export * from './MJActionEntityExtended.js';
|
|
3
3
|
export * from './EntityActionEngine-Base.js';
|
|
4
4
|
export * from './MJEntityActionEntityExtended.js';
|
|
5
|
+
export * from './RuntimeActionConfigurationSchema.js';
|
|
6
|
+
export * from './RuntimeActionBridgeBuilder.js';
|
|
5
7
|
//# 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,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/actions-base",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.30.1",
|
|
5
5
|
"description": "Base Classes for MemberJunction Actions. This library is used on both server and network nodes.",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"scripts": {
|
|
12
12
|
"start": "ts-node-dev src/index.ts",
|
|
13
13
|
"build": "tsc && tsc-alias -f",
|
|
14
|
-
"test": "
|
|
14
|
+
"test": "vitest run",
|
|
15
|
+
"test:watch": "vitest"
|
|
15
16
|
},
|
|
16
17
|
"author": "MemberJunction.com",
|
|
17
18
|
"license": "ISC",
|
|
@@ -20,9 +21,11 @@
|
|
|
20
21
|
"typescript": "^5.9.3"
|
|
21
22
|
},
|
|
22
23
|
"dependencies": {
|
|
23
|
-
"@memberjunction/
|
|
24
|
-
"@memberjunction/core": "5.
|
|
25
|
-
"@memberjunction/core-entities": "5.
|
|
24
|
+
"@memberjunction/code-execution": "5.30.1",
|
|
25
|
+
"@memberjunction/core": "5.30.1",
|
|
26
|
+
"@memberjunction/core-entities": "5.30.1",
|
|
27
|
+
"@memberjunction/global": "5.30.1",
|
|
28
|
+
"zod": "~3.24.4"
|
|
26
29
|
},
|
|
27
30
|
"repository": {
|
|
28
31
|
"type": "git",
|